Added pypy to test suite

also removed mock from .travis.yml, and added pypy to tox.
Exception Classes and looping on exception

added a function to loop a call when an expected exception is raised.
Intent of use is to use it with one of the controls that raise an
InputError on bad user input, to re-prompt the user.

started an exception tree to support previous.