catch IOError exceptions when setting up output stream redirection; this provides a useful error message rather than the console terminating

fixes bug reported by @iambatownsend: https://twitter.com/iambatownsend/status/279783378054684674
intercept the ValueError thrown by shlex on invalid quotation marks, and show the user a message with help on how to resolve the problem; fixes #43
keep track of whether a console Session ought to be active, and do not attempt to disconnect after the session has already been terminated

This should address the delay that we see disconnecting from the server in some instances, where we try to terminate twice.
move the final session.do_exit from intercepting a KeyboardInterrupt into a finally

This should always terminate the session cleanly, and address the problem reported by @hubert3: https://twitter.com/hubert3/status/280187162098556928
Added information module to get permission list
Moved exploit.shell.reverse to shell.send and moved other shell modules into shell folder
refactoring the interactive shell into common.Shell, so we can reuse it in other modules
Added fresh root exploit for devices using exynos processor
creating two additional scanners, which find world read-/write-able files in a folder hierarchy
add a 'mercury module' command, which will provide functions to manage modules and module repositories
block out the commands we wish to support in repoman
the Manager will inherit from object, because apparently Python neglects to assume this
starting to build a Repository class to interact with repos on the filesystem
refactoring the configuration file into its own Configuration object, 'cause single responsibility principle and all that
adding a pair of test cases for the possibility that there is not a configuration file to at all
fixing a bug in the Configuration class, where config_path() was renamed path()
hooking the repoman.Repository into the existing codebase, and use it to build the module search path in the module loader
adding functions to create and delete module repositories, and track these changes both on disk and in the configuration
provide methods to set and remove keys in the Configuration object
adding comments throughout the Configuration class