rollback undesired changes per feedback

- remove module-level docstring
  (but? pep-257, "All modules should normally have docstrings" ??)
- try to restore original import ordering
  (unused imports remain removed)
- restore deep import of os environ, isatty
- restore "caching doesn't work" scrap code
create @forkit decorator for testing within a child process

this causes a problem with python 2.7, a rare import lock race condition, as a result of the tests.py itself being a "module" that is, i suppose, executed-on-import, something strange here that only occurs under nose.

anyway, its what we want. it has already exposed a few failing test cases that otherwise used to pass, only because they carried on old setupterm()-initialized cases, where, when calling with a StringIO() (no tty), setupterm() is never called. so currently all test cases do not pass.

..just committing to get git pull --rebase the number_of_colors fix from master, if it was pulled by er, anyway.
Make test docstrings PEP-8-compliant.
Fix some spelling and grammar.
Add a docstring so Blessings looks better in the REPL's help().
Bring the readme up to date.
implement forking tests

this causes several tests to fail: namely, number_of_colors, and NullCallableString is not callable in the form of term.color(digit)('shmoo')
seperate test files for terminal classification

By seperating each "classification" of terminal types, and ceasing to re-instantiate Terminal() within the same process, we avoid issue #33, where subsequent calls to setupterm() do not have any effect with the underline C-land "cur_term" terminal structure; that is, the first (TERMINAL *) cur_term structure initialized is -always- the structure referred to in subsequent capability lookups, regardless to the number of times setupterm() is called, or the values used.

Also included is a fix for terminal height/width, when stdout is piped to stdin of another program, the terminal size is indeterminate. In this situation, we use the LINES and COLUMNS environment values.

Also of note, many previously passing test cases could not pass when using the Terminal() of kind=, stream=, and force_styling= values intended.

One instance of this is the .number_of_colors; which previously _always_ returned 256, even when stream was StringIO and force_styling was non-True. This method was modified to check the value of 'does_styling', and return 0 if not True.
emit warnings for issue #33, and LINES/COLUMNS

previously test cases were passing that probably should not have, due to issue #33; that is, that a value of type 'int' should always be returned; it isn't when the output stream is not stdout and stdout ("init_descriptor") is also not a terminal. This resolves this issue by using the environment values of COLUMNS and LINES, defaulting to 80x24. If the values of COLUMNS and LINES are not integers, a warning is emitted.
 rollback undesired changes per feedback

- remove module-level docstring
  (but? pep-257, "All modules should normally have docstrings" ??)
- try to restore original import ordering
  (unused imports remain removed)
- restore deep import of os environ, isatty
- restore "caching doesn't work" scrap code

This is to catch up with the 'master' branch where this commit was already made. this will become very time consuming to be able to propose more than a single change/pull req at a time, isn't there an easier way than this?