Doc: General documentation improvements
Doc: cover the eval command feature
Doc: Cover the environment passed to commands
Doc: Cover shell completion feature
Doc: Add ideas for configurable settings
Doc: Draft a roadmap for the implementation
Test: Separate driver tests to their own file
Test: new compat module for test compatiblity

This is to cover incompatibilities between python versions.
Initially, includes a method called `which` that was added in 3.3.
Test: sub command execution