Fixed some test foolery
Various cleanups.

Using Array.isArray instead of instanceof, making `undefined` an argument for the anonymous function, using Object.create when inheriting from Dict.
Added an `off` method to Client, to remove events

Since we have an `on` to listen for events (for now just errors).
Switching from jake to grunt, to stay with the trends.
Missing parameter in parseInt, switching to |0

JSHint was complaining about a missing parameter in parseInt so was a
good time to use the |0 trick and shorten things.
Laxbreaks, because jshint hates && at the beginning

I like it that way, though.
Missing () for a constructor.

Was going through a phase when I decided to omit it, have seen the err
of my ways.
Missing semicolon in uuid function.
Allow == when linting
Strict equal when checking the remainder in isInt()
Was defining the same variable in two separate places.

Not actually dangerous because the code paths couldn't intercept, but
this made it pass jshint.
All jshint errors have been fixed.

Moved a function outside of the while loop, all tests are still passing.
Switching to the MIT license.
Merge branch 'master' into sets-rev2

Conflicts:
	Jakefile
	build/gazel.js
	build/gazel.min.js
	src/del.js
	src/gazel.js
	src/incr.js
	src/setup.js