#2551 REST Cleanup: Categories

Trying to break the last REST details into smaller PRs for review. 

- Moved category syncing from BlogService to CategoryService
- Implemented Category sync in REST
- Implemented Category creation in REST
- Previously, we'd force-sync categories after creation. Only XML-RPC does that now as the REST call returns the newly created category
- The blog view now calls sync blog on appear. Categories (and other metadata) weren't being synced often enough

refs #2551 
> ...we should absolutely not put hacks in the clients so that it can handle the int being returned when we have documented that we are expecting a bool. Because when we do this we make enforcing correctness on our API an incorrect action and requires coordination, breaking clients until updated, etc.

SafeExpecations is still useful for only two things:
- Easy conversion: I know the API is returning an ID as number, but I want to store it as a string: `stringForKey:`
- XML-RPC: data types might change due to plugins, core updates, or server configurations. Deploying a fix to a self-hosted API might take months, so client-side precautions are needed.

On the WordPress.com API, if something breaks, we fix the API.