Ajax: add ability to set `xhr()` factory per-request
have get() method accept negative index
fix assertion order in `get()` tests
support for multiple class names in toggleClass()
refactor toggleClass and tests
Add os.phone and os.tablet (booleans); Detect Firefox mobile, PlayBooks
Add Windows Phone/Windows RT user agent strings for prosperity (Zepto doesnt support IE 10)
more robust object type checks, taken from jQuery

This fixes operating on DOM elements within iframe.

Fixes #667

Thanks:
* John Resig
* John-David Dalton
* Rafaël Blais Masson
* Robert Katić
* Ariel Flesler
remove $.isObject() and reduce internal usage

It's a vague check and jQuery doesn't have it anyway.
Use $.isPlainObject() or $.type() instead.
switch Travis from ruby to node worker
forgot to add test fixture file
extract contributing guidelines

This way GitHub displays them in the pull request UI
add $.isWindow
no need to redeclare existing locals
clarify eval scope
avoid using arguments.callee

arguments.callee breaks strict mode. It seems here there is very little
value in using it.
make test server for proper Ajax tests
proper Ajax callbacks tests

Introduces several failing cases pointed out in #660
fixes to $.ajaxJSONP
fix error callbacks for ajaxJSONP