Make jquery.client more testable
Make jquery.client more testable

* More elaborate caching in the plugin in order for the code to be testable.
* Add support for passing custom user agents (default behavior is unchanged).
* Add support for passing custom profile-objects to $.client.test.
* Add test cases for all supported browsers.
  http://www.mediawiki.org/wiki/Compatibility#Browser
* Replace userAgent.toLowerCase() with userAgent since the string was already
  converted to lowercase.

wikimedia/jquery-client