Refactored source code and added tests.

Closures are now properly inspected.
Multiple @always constructs can be used successively.
Add testing instructions.
Support more built-in functions.
Document constraint.Constraints.
Remove name from wrapping process.
Omit setattr() when solver did not search for a value.
Document namespace.WrappingNamespace.
Use __builtins__ for lookups as well.

Previously, this used only globals().
Handle immutable types gracefully.

This allows using modules (such as `math`) from constraints.
Remove unnecessary lookup.
Use ordinary class for Point and give it a repr.
Don't mention directory explicitly.