Add Posts and Thread viewmodels

Views will need to be updated to use the new models.
Updated views, builds but may not run, not tested. (bad dev etc)