Moved around save logic.

It was becoming duplicative. New interface added to database package,
and models that conform to that can be automatically saved to the
database. Recommend a Save() wrapper on the structs that define the
interface so that database doesn't have to be imported every time the
you want to save. (to reduce coupling)