Fix all lint errors in app

I also disabled some of the default lint rules so that we don't have
a ton of noise from lint, and also enabled pylint on TravisCI.

The command to run pylint locally is
 `pylint --rcfile=test/pylintrc app`
Merge pull request #13 from box/enable_pylint

Fix all lint errors in app
Move non-service subcommands onto main thread

This change moves execution of the non-service subcommands (i.e.,
`build`, `stop`, `deploy`) onto the main thread. There is no good
reason not to execute these on the main thread, and putting them on
the main thread makes them easier to control via signals.

For example, killing a "clusterrunner build" process will now only
require hitting ctrl-C once instead of twice.
Merge pull request #14 from box/main_thread_subcommands

Move non-service subcommands onto main thread
Close all file descriptors on server stop

This is a fix for an issue in ClusterRunner where even if the Tornado
IOLoop has been stopped, web requests will not be rejected. In fact,
those requests would just hang open indefinitely until the Python
process actually ended.

This had led to some strange effects where if a slave process was
hanging due to a different issue, the master would have connections
open to it. Later when we would manually kill the hanging slave
process, the master connections would finally fail and bring down the
master as well.

The fix is to explicitly close the Tornado IOLoop with an argument to
close all file descriptors. I couldn't find good documentation on why
this fixes the issue, but I verified the fix through manual testing.
Merge pull request #15 from box/kill_webserver_fds

Close all file descriptors on server stop
Move pylintrc to top level

This is a bit uglier but makes it way easier to run pylint. Now just
run it with `pylint app`.
Fix error message in ShellClient class

The parameters were in the wrong order and did not match the text
of the message.
Create StopConfigLoader for stop subcommand.

Do this in order to have the stop subcommand write to its own log file.
Merge pull request #18 from box/add_log_file_for_clusterrunner_stop

Create StopConfigLoader for stop subcommand.
Replace the paramiko implementation with direct Popen calls for ssh