Added emacs-related components to the .gitignore.
Factored out field_projection into three methods.
Refactor to allow for multiple struct fields for a single table field.
A bit cleaner to gather all the items together.
Added yet untested support for performing updates.
Updates are now tested; appear to work.
Now uses the new get_id() method.
Simplified code now that we can assume all structs have implementations.
Now connections to the testing database for tests, and all connections go through the same point.