Initial import.
Initial checkin.
Add few tests using python's built-in unittest module
Add few negative test cases, an insignificant change in Optuple._to_expr()
Move some constrain logic out from the internal dict.
Also add Constraints.freeze() method to catch possible bugs when using forking.
insignificant changes in unit tests
Add a simple test case for Constraints.
Docstrings for exceptions
Almostly move out constraints-related logic from ConstraintsDict.
Rename and move ConstraintsDict up to the module level.
Making Module type independent from the rest types (Instance, etc.)
Extract Context-related classes into a separate module.
Move Instance class from core package to context.
Extract Constraints into a separate module, fix few imports.
Nothing significant: add missing and remove unused imports, etc.
Extract constraints test into a separate file.
Improve test for Constraints, fix a little bug in the latter.
Assert pureness of certain operations on Constraints.
Working on option definition facilities.
Integrating Options class into Optuple and ModuleContext
(incomplete, code is in a broken state)