Distribute on PyPI. (4.0.0)

Documentation has been updated. Sources are now implemented as separate
modules for scalability. The main interface now takes constraints as
kwargs instead of a dictionary. This is the first version that will be
uploaded to PyPI.