Use Lab v4 and split range parsing out into new function
Add defaults support
Add require support
Merge pull request #1 from geek/master

Lab 4, defaults, and require