Initial pass at get_items and get_item Post Controller routes.

- Included new class-wp-json-posts-controller.php file in plugin.
- Added GET posts and posts/id routes to initial registered routes.
- Migrated logic from old WP_JSON_Posts class for get_items.
- Migrated logic from old WP_JSON_Posts class for get_item.
- Migrated logic from old WP_JSON_Posts class to prepare response.
Only provide post status in the edit context.
Migrate read and edit permission checks from WP_JSON_Posts class.
Clean up comments in get_items.
Register route for creating a post.
Add logic for creating posts to posts controller.
Correct variable name in prepare_item_for_database()
Migrate WP_JSON_Posts logic for update_item method.
:Merge branch 'develop' into two-posts-routes
Applying fix from a255340efc6dfe05478adfaa55a8759f8c2c5951 into Posts Controller.

- Props @NateWr
Remove return type from WP_JSON_Controller::get_items.
Move checking of post type into separate method.
Correct return type to WP_JSON_Response object in Docblocks.
Fix permission check in WP_JSON_Posts_Controller::get_items.
Change Docblocks return value to match json_ensure_response.
Define $request parameter object in Docblocks.
Get post_type object when checking object capabilities.
Check edit permission when passing the edit context.
Use check_edit_permission method to confirm user is allowed to update post.
Minor array alignment formatting fix.