Terms Controller Redux

* [x] Restore terms endpoints with tests
* [x] Restore taxonomy endpoints with tests
* [ ] Add create and delete methods to term endpoint.
You could also do it with multiple calls, if you prefer doing it that way:

```php
register_json_route( 'wp', '/terms/(?P<taxonomy>[\w-]+)/(?P<term>[\w-]+)', array(
	'methods' => array( 'GET' ),
	'callback' => array( $controller, 'get_item' ),
) );
register_json_route( 'wp', '/terms/(?P<taxonomy>[\w-]+)/(?P<term>[\w-]+)', array(
	'methods' => array( 'POST', 'PUT', 'PATCH '),
	'callback' => array( $controller, 'update_item' ),
) );
register_json_route( 'wp', '/terms/(?P<taxonomy>[\w-]+)/(?P<term>[\w-]+)', array(
	'methods' => array( 'DELETE' ),
	'callback' => array( $controller, 'delete_item' ),
) );
```

(I've just realised the new `Server::register_route()` doesn't allow for this case though, so we should fix that. Filing as a bug.)