NullCallableString() fix: turtles all the way down

Lets explain:

@property
def color():
	returns NullCallableString()

which, on its own, would be fine:
   t.color == u'', is callable

but, when parameterized:
   t.color(8) == u'', NOT callable

would seemingly be complete; but isn't, we must allow:
   t.color(8)('hey') == u'hey'

Which, without returning NullCallableString() from within __call__ of NullCallableString, this wouldn't be possible.
improve test case coverage for missing ttys

1. Test NullCallableString more concretely.
2. prove that misspelled() terminal attributes are not detected
3. add assertions to ensure that exceptions for misspellings *are* thrown