Refactoring. Made some methods static, refactored the filtering methods.
Add grunt-contrib-jasmine for unit tests.

Add jasmine-jquery for help with fixtures and testing jQuery objects.
Add four test specs.
Add more specs
Add travis ci config.
Tell travis to install bower
Add travis badge to readme
Fix bug with callback.

where the `layout` and `filtered` weren't called because none of the
newly filtered items would change position.
Forgot to commit build files. Travis failed.
Update add items 3rd mode to mix in to the current set.

When the items are sorted, using the mix in method is much better
looking, but adding items to the end is better for infinite scrolling
and DOM order.
* Mix in.
* Add to end.
* Add to end with sequential delay.
Refactor all the things.

Removed shrink, shrunk, filter, and filtered events.
Fixing up `revealAppended`

Also removed usage of `self` from adding-removing.js
Move to Shuffle.prototype.method = function.
Remove usage of `self` and the single-var pattern.
Specs, refactoring, JSDoc.
Fix callback events when using jQuery.animate.

Replaced setTimeout/proxy with a defer method which can take a context.
Changed jQuery to use v1 instead of v2 in testing so that old IE can
use the tests.
Add a few specs where `supported = false` so jQuery.animate will be
tested.
Add isTransitioning flag to determine when shuffle is already doing
something.
Gandalf wouldn't let them pass.
Explicitly use jQuery instead of $. #25
Refactor. Fix :bug: calculating widths.

Refactor the getItemPosition method.
Fix `_getOuterWidth` for Firefox because offsetWidth/Height return
integers for Firefox. Now it uses `getBoundingClientRect` to determine
the width.
Up the column threshold from `0.03` to `0.3` because Safari (desktop &
mobile) return integers for the client rect and offsetWidth.
Add a note about the native Android browser with 4.1.0 and 4.1.1 where
it incorrectly thinks it supports unprefixed transitions.
List public methods in docs #23
Update docs and options descriptions.