Fixed regression where ranges weren't properly parse and added tests for forge's semantic version subclasses.
Added comments/docstrings, caching, and some simplification.
Change manage.py so that it may work again.