Update the docs with proper API signatures
Add tests to verify mutual exclusion in instantiation
Break the module-level stuff out from the class level stuff in the docs
Don't ignore ALL ValueError lines in code coverage
Add tests for mutual exclusion in instance instantiation. Switch back to using the full class name for string repr. Update tests.