Refactor lib/event code

* Unit tests for event code (hello test-driven refactoring).
* Changes to UI and client code to accommodate the event changes.
* Minor: remove doctest from Makefile's "test" target.

Commit references #46.
Refactor space.py, add key layout extenders

* Key layouts can be extended in event class to generate custom commands
programmatically. Useful for dialog options, inventory items and other
multiple choice situations.
* Unit tests for collapsing and expanding layouts.
* Cyclomatic complexity of space.py is reduced, now it looks a bit more
tolerable. However work here is not done, UI is a bit screwed up.

Commit references #46.
Status messages for arg_required cases

* Fix broken test.

Commit closes #46.
Merge branch 'event-refactor' into panes