More state cleanup in BaseField, alphabetizing

Finishing off what @tamird started in #205.

Alphabetize all methods in BaseField.

Rather than deleting values out of the options hash, reference the hash
from predicate functions.

Rename `getter_method_name` and `setter_method_name` to simpler
`getter` and `setter`.

Remove the excess options warning since we are generating all field
definitions.
ah, makes sense. if you do decide to go with `Struct`, please split this up into a separate commit for each logical change. my tired brain will thank you :)