Merge remote-tracking branch 'upstream/master'
implement keyboard-awareness

this completes the proposed API to provide blessings with keyboard
input. this performs the expected heavy lifting of translating special
multibyte sequences representing application keys to a unicode-derived
instance of Keystroke().

awaiting feedback from Erik Rose.

Yet to remain:
  - test cases: this may require bringing in the 3rd party dependency of
    'pexpect'; or, by rolling a more advanced version of @as_subprocess
    decorator.
  - example code within README.rst
  - bugs ?!?

Conflicts:
	README.rst
	blessings/tests.py
resolve bug: must call at least setupterm() first.
timeout fix
docfix
implement test cases for keypress()
mastaflash
retrieve locale-aware encoding, instead of utf8 hardcoded

in a similar library pexpect, we *always* use utf8, allowing the user
to specify otherwise in the API -- however, for blessings, this is only
important in the context of *keyboard input*, which is an interactive
use of the library by the user, not a programmatic one.

the reason for always using utf8 is where test cases are run on machines
with silly default encodings, i am told debian defaults to ASCII.
implement semaphores
hand-remove sequence-awareness

as i can't find any better way to do this, sadly.

enjoy the conflicts, or reverting a revert-a-revert