Strip control characters in API output when building XML
Log and graph request time by shard host
Allow relations to be arrays instead of just strings

Related items ("dc:relation") are one-to-many, but only single strings
were being allowed for values in the 'relation' object. This allows
multiple objects to be passed for a given predicate.
Remove DELETE for full-text item content; use empty PUT instead

And return 204 instead of 200 for PUT
Fix notice on missing Content-Type header when required
CORS support
Fix intermittent PHP notice
Return empty object instead of empty array for no settings
Full-text content syncing via classic sync
Switch back to main Elastica repo
Only include up to 500K chars of full-text content in downloads

If over limit, include empty nodes so client can flag for later, and
allow client to request content for specific items in /updated request.
Use shorter POST param for full-text content keys
Use MySQL for full-text content instead of Elasticsearch

For now, use a separate host with MySQL 5.6 with a matching database for
each shard containing a fulltextContent table. Eventually, each shard's
fulltextContent table will be merged into its main database.
Remove debug line
Allow sync clients to request all full-text content
Full-text search support

Via 'q' parameter, which can be toggled via the 'qmode' parameter between
the default 'titleCreatorYear' and 'everything'
In /top mode, search all items but only show top-level items

Previously, a /top request didn't search child items. Now, searches are
performed against all items, and /top causes the parents of any matching
items to be shown instead.
Delete fulltextContent row when attachment item is deleted
Add clear before /top test
Some commented-out debugging code for item searches