Issue #33; cannot call setupterm() more than once; emit warning

This branch implements a @subprocess decorator for all tests, ensuring that any call to setupterm() is done in a child process. This resolves many of the strange and unexpected behaviors in tests. This

This version also ensures height and width is retrievable, even when the init_descriptor and sys.__stdout__ is not a tty, which was not the case previously (test case failed when "|cat" was piped to the end of running the tests, for instance).

This is achieved by falling back to LINES and COLUMNS, and finally, a default value of 80x24 (A ValueError exception is raised if the values of LINES or COLUMNS is not an integer, a very silly thing to do).

More explanations to come. This is complete, but having some difficulty with git rebase, here, so its not all yet reflected here... I've collectively watched about 5 hours of talks on git on youtube and an equal number of hours in documents. Someday this stuff better click or I'll just become a hater!