Location (Rooms/Buildings) Management

Refs #120.

This adds a Manage Buildings interface to System Settings. With this interface admins can add/edit/delete buildings, and add/edit/delete rooms attached to those buildings. Events now have a room_id attached to them that is used instead of event_location to get the location of the event. When adding/editing an event, the Event Location field will be a dropdown of the available rooms.

Note that the event_location column is not *replaced* by the room_id column. It keeps both for now, so that the event location data isn't lost and can be migrated. There is a migrate script that can be run by visiting www-root/core/admin/settings/manage/buildings?section=migrate&org=1 (or whatever your organisation_id is that you would like to migrate). This will match up event_locations with their corresponding room_ids with simple string comparison, and will prompt the user to manually match whatever is left. This should be run *after* adding all of your buildings and rooms with the Manage Buildings interface.