Python 2.6 does not have assertIsInstance
Remove dead code.
Add greasework script, which sucks in work to compute farm machines.
Update documentation.
Fix HadoopRunner after refactoring artifacts
Factor out launcher interface.
Add scalegrease worker, which pulls crontabs from Kafka.
Add support for looking up zookeeper from SRV records.

Add debian dependencies on kazoo and dnspython.  Samsa has no Debian package, so it is missing.

Add requirements.txt for pip.
Proper line splitting in run_with_logging
Improve Error message for local artifacts

If you specify a path that doesn't exist (say if you copy paste a
command from somewhere) the error message was like this:

arash@laptop$ greaserun --runner luigi ~/does-not-exist.jar ...
INFO:root:Reading configuration from /etc/scalegrease.json
Traceback (most recent call last):
  File "/usr/bin/greaserun", line 9, in <module>
    sys.exit(runner.main(sys.argv))
  File "/usr/lib/python2.6/dist-packages/scalegrease/runner.py", line 66, in main
    run(args.runner, args.artifact, rest_argv, conf)
  File "/usr/lib/python2.6/dist-packages/scalegrease/runner.py", line 43, in run
    artifact_storage = deploy.ArtifactStorage.resolve(artifact_spec)
  File "/usr/lib/python2.6/dist-packages/scalegrease/deploy.py", line 24, in resolve
    return MavenStorage(artifact_spec)
  File "/usr/lib/python2.6/dist-packages/scalegrease/deploy.py", line 67, in __init__
    self.artifact = MavenArtifact(*self.artifact_spec.split(':'))
TypeError: __init__() takes at least 3 arguments (2 given)
Make group/artifact parsing more stable.

Use mvn help:effective-pom in order to determine project groupId and artifactId.
It seems more stable than help:evaluate, since maven spits out a extra output
confusing the parsing of help:evaluate output.

Include current time in kafka consumer group name, in order to create a new group
each time.  There seemed to be issues with message ordering when reusing group
names.
Rename *work* to *snatch*: scalework, worker, Launcher.work().
Add "common" module
Linting
Update arguments hint

Relates to 9a1b3af0326fdd83570290e78a53edde43b31abf
Better function naming
Linting
Consistent way to ignore results/arguments
Again, consistency
Code convention