Cyclic support

Adds support for cyclic datatype.

**Note:** Cyclic data MUST be in the range 0 to 2*pi. Not quite sure how to handle this in bayesdb.
Since we're starting to have more points for user input, I added an argument to Client() called testing, which you can set to True when testing to bypass all those points for tests.

It's not the best since we might be missing bugs for bad user input, but it's relatively simple and avoids failures for now - eventually I'd like to add some tests for a range of user input values at those points to be sure non-defaults and nonsense input get handled the right way.