Database Migrations

* Added Minion - A command-line task runner
* Added Migrations a module for rails style migrations
* Instructions for running database migrations at: https://wiki.ushahidi.com/display/WIKI/Migrations
* closes #13
Merge pull request #20 from ushahidi/migration-module

Database Migrations
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
Add option to configure proxy url for testing
Improving RestContext

* Add thePropertyContains() step, used to check for tags.
* Use base_url from Guzzle
* Add support for setting query strings in tests
* Improve error message for property equals
Better handling of JSON errors in tests
Fix post_datetime SQL Create statement - only create if not exists
DELETE /posts/:id - return the post that was deleted
PUT /posts/:id - implementing post updates
Adding further tests and improve some existing ones

* Test for 404 on DELETE missing resources
* Test for 404 when try to GET non existent resource
* Test for being saved tags in posts
* Test for searching posts
  * Add extra fixtures to support this
* Test for 404 on PUT/updating a non-existent resource
Make GET/PUT/DELETE on missing resources respond with 404s

Covers: forms, posts, attributes, groups