Added support for error message parsing from 422 responses in more recent versions of Rails while maintaining backwards compatibility with older versions of Rails.

JSON responses from 422 errors in earlier versions of Rails:

{"name":["can't be test","must be valid"]}

JSON responses from 422 errors in recent versions of Rails:

{"errors":{"name":["can't be test","must be valid"]}}

This fixes issue #567.
Merge branch 'master' of git://github.com/Shopify/batman
Added helper, test and catch to bypass middle-click events.
Add a performance test for accessors with varying amounts of sources
Change the source tracker pushing and popping to only instantiate source arrays when needed instead of preemptively.

 - Batman.Property source tracking is built upon a source tracker stack that gets pushed to and popped off of as properties are recalculated. This uses a little boolean to make thing a bit faster by delaying the push of a new source array to the stack until the first item goes to be added to the stack, and otherwise if no items are added no arrays are created and the boolean is just flipped back.
Merge pull request #622 from adamyanalunas/middle_click_rotue

Added helper, test and catch to bypass middle-click events.
Build dist
Defer function binding until bind
In IE7, it is not possible to get a character from a string using the box [] notation.
This caused IE8 to go return defined, enter a continious loop and then cause a stack overflow error.

Amended the offending lines to use charAt instead.
dist
Merge pull request #630 from Shopify/firenodechange-fix

Defer function binding until bind
Move the source tracker stack back onto Property to see if it is any faster as a closure scoped constant.
Make the source tracker stack valid property its own variable
Support all symbols with unescapeHTML
Avoid creating unescape node every time for performance
Cache node on first request to avoid issues with test environment
Merge pull request #633 from Shopify/more-unescaping

Support all symbols with unescapeHTML
Return undefined for null values in unescapeHTML
Merge pull request #627 from Shopify/smarter_source_trackers

Lazily pushed smarter source trackers
Parse keypaths that begin with numbers