User defined locals in manhole shell

Typically, when you add a manhole to existing application, the
application was not designed for this, so finding stuff from the manhole
shell is hard or even impossible.

This patch adds a new locals optional argument, allowing a user to add
application specific objects to manhole shell locals.

Example usage:

    manhole.install(locals={'server', my_server})

From the manhole shell, you can now use "server":

    >>> server.status()

Installed locals are not inherited by child processes, since they may be
invalid in the child process.

Issue: #16