Add Flags trait for all flag types

This trait makes it easier to specify none or all flags.
Rename flag to flags for stdlib consistency
Add rustdoc comments for flags module
Merge pull request #86 from jcmoyer/flags-trait

Flags trait