Remove backwards compatibility for passing a function to register.
Pass the module's methods to its initialize method.

This allows modules to use their own methods in a similar way that the
prompt file and other modules will use their APIs. Hopefully this will
make module design a bit clearer (and less unweildy).

Some property locking is planned for a future commit.
Revise and reduce the module API.

* Removed the module's get and exec methods.
* Pass the module's `register` method to its `initialize` method.
* Run a module's `initialize` method with `@impromptu` as the context.
* Execute a method's `context` to `@impromptu` by default.
Merge pull request #32 from Impromptu/break-all-the-things

Break all the things!