Table Editor: Extended Spreadsheet Functionality

I've enhanced the spreadsheet to support image and audio datatypes. 

### What has been done:
* Server-side: L.G.'s DynamicTable support has been extended to support Foreign Key relationships to Audio and Photo tables.
* The DynamicTable now has a (functioning) display_name so that the user can specify the default display field for "Record" types in the UI (configured here: http://localhost:7777/profile/forms/<form_id>/) using the "display on map?" column.
* Spreadsheet header row is anchored...had to hack the colResizeable third-party script to get column resizing to work with header row anchoring.
* Spreadsheet Photo and Audio Columns are populated by inputing the photo / audio id.


### What still needs to be done:
* Code organization (no Marionette yet)
* Upload directly from spreadsheet
* State management
* A better way to browse for existing photos / audio (like a media browser popup), rather than directly inputting the raw photo / audio id.

### Database updates:
To test, you'll need to add some type records to the site_datatype lookup table.
$ vagrant ssh
$ psql -U postgres -d lg_test_database
(enter "password" as password)
```sql
insert into site_datatype(id, name, sql) values(7, 'Photo', 'integer');
insert into site_datatype(id, name, sql) values(8, 'Audio', 'integer');
```
Nitpick, but the enumish class declaration you have in dynamic_model makes the code more readable (and obviates the need for comments to explain the magic numbers).  Maybe pull that out into something that you can import for this sort of data_type checking?