Agent attributes
Agent have their own attributes and composition now. Also, neighbourhood and school compositions are updated when an agent moves. In the add/remove neighbourhood/school, household attributes are added/subtracted to the self.composition attribute of the spatial agent. Did some clean up of the code as well.