Add tps.testsuite

Add test suite for unit testing. Unit tests can be run with
``python setup.py test``.
Add unit test for tps.config.interpret_shell_line
Replace function defs with `print_command_decorate`

There were three similarly-defined functions that all wrapped subprocess
module functions. This commit combines the logic into a single decorator
that is applied to the subprocess functions.
Add more tests for `interpret_shell_line`
Add even more tests for `interpret_shell_line`
Fix whitespace handling in `interpret_shell_line`
Make `interpret_shell_line` give more helpful errors

In some cases, such as unclosed quotes, a generic ValueError was
raised. Now, a more helpful ShellParseException is raised.
Remove unnecessary strip in `migrate_shell_config`
Merge remote-tracking branch 'jturner314/fix-interpret-shell-line' into python3
Merge remote-tracking branch 'jturner314/add-unit-testing' into python3