Validate percentage values.
Change Flipper.group to raise error instead of return nil.

This helps raise the issue where you use the DSL to get an instance of
a group and the group is not found. Without this, you would receive a
no method error.
Change to lowercase enabled/disabled for conditional gates.
More intent revealing key methods.
Move some of the enabled group stuff to a method.
Moved a few edge cases to unit specs.
Ensure that registry always uses symbols.
Tests to ensure that Flipper.group works with string or symbol