Ensure invalid/non-implemented methods return 405

* Fix existing 405 exception by setting allow methods
* Add additional check to see if the method is implemented
Post revisions: updated posts api to create a new revision on every change

* Only make post slug unique for type 'report', since revisions might
  have duplicate slugs
* Refactor posts API to share code between POST and PUT
* Allow 'translation' post type
* Create 2nd most with type "revision" if anything changes when submitting
  a post.
Adding /posts/:id/revisions API
Fix api.posts.feature test to match changes
Add tests to ensure updating post creates a new revision

* Adds 2 tests:
  first hits /posts/99, second checks revision count increased
* TODO: work out how to combine this/make them indendent
Add the basics of translations API /posts/:post_id/translations/:id
Simplify Post::form_exists check and add Group::form_exists check
Throw 404 when parent post doesn't exist and add test for such.
Make post urls using translation / revision API as appropriate
Add /posts/:id/translations/:locale route to accessing translations

Currently reproduces too much code from Posts controller. Need to refactor
for reuse.

Adds test for locale based url
Fix orphan revisions/translations after a post is deleted
Stop posts API returning revisions or translations

Also adding tests to confirm this
Merge branch 'master' into posts-revisions

Conflicts:
	application/classes/Controller/Api/Posts.php
	application/classes/Model/Post.php
	application/classes/Ushahidi/Api.php
	modules/auth
	modules/cache
	modules/database
	modules/image
	modules/orm
	modules/unittest
Fixing case on HTTP_Exception* calls in revisions and translations api
Split db changes into seperate migrations file
Fix case on 'translations' route
Update PostModelTest data: add locale values
Add checks for post type when getting translation by locale

* Adding tests to ensure revisions don't appear as translations
* Add a revision to the fixture
Add test to check you can get a revision of a translation via revisions api

Not totally sure this is the best behaviour but it works for now.
Merge pull request #41 from ushahidi/posts-revisions

Posts revisions and translations