Added a save function, some more testing.
Added more checking to post.TestSave().
Removed unnecessary database transaction in Save()