Add support for TakerOptions

We add support for configuring the `take` function.  This allows us to reduce boiler plate when it comes to creating LexemeEaters.
Rename Lazy to Lazzy to prevent conflicts

The new Elm should have a Lazy built in.  Don't conflict with it.
Relicense to LGPL v 3 or later
Fix some last silly type errors
Last preparations before release