First pass at hypermedia infrastructure

This adds an add_link method to WP_JSON_Response, allowing hypermedia
inks. You can then embed responses by requesting ?_embed
Convert errors in embedded to correct data
Move prepare_response into response_to_data
Use new-style links in the response
Only allow certain links to be embedded
Always pass context=embed when embedding
Optimize Request constructor for common usage

This makes it nice and easy to make a request internally. Simply:

	$server = new WP_JSON_Server();
	$request = new WP_JSON_Request( 'GET', '/posts/4' );
	$response = $server->dispatch( $request );
Allow filtering response before returning

This will allow plugins to modify the response based on the request.
Initial extras.php commit
Deleting JS Loader from Plugin.php

Moved to extras.php
Doc changes for the new extras.php
Moving action to top of extras.php
Splitting a bunch of functions into extras.php
Taking some more stuff out of plugins.php

Went into extras.php
Small changes to initial extras.php

No newline & “//“ comments
Ensure `$result` is always a response object
Rename file to better communicate purpose
Introduce a new dedicated Controller for taxonomies
Avoid strict notices by making these requirements looser
Pluralize for consistency