Mark these methods explicitly abstract

They're intended to be overridden
Fix syntax errors caused by actually executing the code
We're passing `WP_JSON_Request`, new class TBD
Return 404 when the term doesn't exist
Add delete method to conform to spec
Rename. We are always plural
Some code to register JSON routes
Approach that's more in-line with what we have
Don't validate arguments by Reflection anymore

It's still too magical for WordPress
Include a stub `WP_JSON_Request` class
Pass data to the callback in expected format
Reference the proper variable
Abstract methods can't be static
Avoid closures by allowing routes to be directly registered

Conceptually, this means routes are registered once, and not each time
dispatch() is called
`WP_JSON_Controller` and subclasses should be stateless

Endpoints aren't intended to persist state
As it turns out, late static binding wasn't introduced until 5.3

Reverts 0ffe9fa54bff356d74730f39af43104bf6d2e1c4
Proper translation functions
Merge pull request #556 from WP-API/joes-registration

WP_JSON_Controller POC