turtles all the way down for NullCallableString()

allow term.color(5)('shmoo') to succeed for terminals where stream is
not a tty.
resolve any 'must call (at least) setupterm() first' errors

avoid calling tparm when self.does_styling is False, which resolves
issues with attempting to use things (such as nosetests progressive)
where the terminal is not a tty.

its also a "pokemon exception" and is emitted for a good reason, we
certainly should not be calling tparm without calling setupterm()
first !
only perform color lookup for colored terminals
Merge remote-tracking branch 'origin/bugfix-3' into bugfix-1
Revert "Merge remote-tracking branch 'origin/bugfix-3' into bugfix-1"

This reverts commit 6d8fe019be1e1c1bd1238980288e1451d99eba80, reversing
changes made to 4cff579fbf395e7cfe3d12cb1b5f53ca535d6673.
docfix: 25 x 80 -> 24 x 80