Quick fixes to posts api

* Fix error undefined variable $id
* Add missing datetime query.
Move Controller_Api_Posts::post() to Model_Post::for_api()
Improve RestContext to allow checking for error conditions

Previously HTTP error codes would throw a php error. Now we catch these
errors and grab the response object anyway.
Change post status 'publish' to 'published'
Make test for DELETE /form/ID check for id in response
Add tests for posts api

* Adds tests
* Tweak feature context to add required fixtures
* Add custom date time value 'unknown'
* Make posts through a 400 for invalid attribute in POST