Refactor loading of post values for the API

Remove huge union query in Post model. Instead we're iterating over a
list of
post attribute types and loading values through
$model->load_values_for_post().

Attribute types are now stored in Model_Form_Attribute::
_attribute_types.
This should allow us to extend later and add custom type through
plugins.

Post_Value:: load_values_for_post() grabs the values for this post
along with
their attribute data. We then iterate over these as we did before.

We've also moved the date time formatting into the Post_Datetime model
get/set functions.