Move bayeslite.py to a subdirectory with __init__.py.

In preparation for splitting it up into multiple modules and
adding new ones.
Require at least one model in bayesdb_models_initialize.
Return NaN as column dependence probability if no models.
Always return floating-point values from bayesdb_value_to_code.

Crosscat chokes otherwise.
Fix determination of columns with user-specified names, types.
Add some automatic smoke tests.
Add unconstrained simulate smoke test.