Events+callbacks never fire when in test mode.

By passing a null/empty path to Dirty it will run in test mode.  This is
useful when re-running a process multiple times when testing and not
wanting to save state.  However, no callbacks or events are fired in
that mode, making it hard to actually do testing.  These changes will
make sure all async actions are triggered when in normal or test mode.
Proper scope on _writeStream.drain
Adding tests

Tests for load event and dirty.set callback when dirty is not writing to
disk.
Merge pull request #29 from bentaber/testmode-noasync

Events+callbacks never fire when in test mode.
version 0.9.4
Added a size function, so that I can generate keys.
added a test for size
Merge pull request #31 from mmichelli/patch-1

Added a size function, so that I can generate keys.
0.9.5
sys is deprecated, use util
Merge pull request #32 from rmehner/sys_to_util

sys is deprecated, use util
0.9.6
Stubbed node v0.10.0 test.
Boilerplate mem/disk setup in new test.  Added test db file to gitignore.
Replicated failing behavior (but only if you run the test multiple times.
Added dev dependencies for tests.
Now issue is effectively replicated in tests by running it 10 times in series.
Uncommented disk tests.  The issue also occurs any time multiple connectsion to disk occur one after the other w/o deleting the file from disk.
Anal jshint adjustments.
Added comments explaining the publically accesible api functions.