Add tox.ini config, fix test breakages that appeared with tox.

Closes #27
Closes #29

Moved tests inside of the application. For know this is for simplicity. I think
when I get to the point of packaging the application as an executable, I'd like
the user to be able to run tests.

The tox file will run linters and tests on py27 for now. Again, for packaging,
I'd expect to bundle it witha 27 interpreter, so there isn't a reason to test
it with pypy (which can't be bundled) or the others.

Lastly, I added a sortedDump function to use for all json. This should provide
consistency in how messages are sent.

Fix makefile, so that tests, linting, and coverage all work.
Merge pull request #28 from derwolfe/use-tox-27

Add the tox.ini config and cleanup code to deal with it correctly.
At a later date this tox file should be revisited, as there might be a better layout.
split up long command
return both the filenames and directory names from getFilenames
add in sending directories