Fix inheritance of base models

Using "$ref" in an parameter definition doesn't allow anything to be
overridden to be different to the model definition. So the models that
are defined need to be exactly what gets used as the parameter -- no
changes can be made in the parameter definition (i.e. it doesn't work
the same as the "extends" functionality).
Add Date::objectToTimestame parameter filter
Add "_query" named match to link patterns

This will extract query string parameters into the main parameters, as
returned from ResourceBuilder::parseHref().

By adding a named capture group of "_query" to a link pattern, which
captures the entire query string, all of the query string parameters
can be extracted as parameters to be used on the resulting command.
Use CommaAggregator for arrays in query strings

The Desk.com API always requires query string parameters which contain
multiple values should be separated by a comma. So when creating a new
request object, its query string should have the CommaAggregator set as
its aggregator.
Add PreValidator to wrap primitives to arrays
Add message link to CaseModel
Add SearchArticles operation
Add SearchCases operation
Add SearchCustomers operation
Update project progress in README

Fixes #15.
Merge pull request #20 from bradfeehan/operations/search

Search operations