Add size method to domain.
Add better narrowing for min/max constraints.
Add variable and constraint factories.