Allow augmentation of test session state

Useful e.g. to add a 'stubfile' path in a custom feature context.
Don't create a group in iAmLoggedInWithPermissions if already exists.
stepIWillSeeALogInMessage now allows for other form message types.

Not just "bad", but others like "good", "required", and "warning".
Adding definition for selecting an input by the group's label.

Allows for a step like: `I select "Admins" from "Groups" input group`

Adding it to BasicContext as it seems useful to be used in
other places, not just the CMS admin interface. It could be used
frontend forms that use CheckboxSetField, or OptionsetField,
for example.

Thanks to @srizzling for writing the definition for this step!
Merge pull request #13 from halkyon/existing_group_permissions

Don't create a group in iAmLoggedInWithPermissions if already exists.
Merge pull request #14 from halkyon/message_rework

stepIWillSeeALogInMessage now allows for other form message types.
Merge pull request #15 from halkyon/select_radio

Adding definition for selecting an input by the group's label.
BUG Fixing logout issues with steps

stepIAmNotLoggedIn() would previously just kill the test
session, but this has the side effect of losing the current testsession
temporary database, so this causes steps of logging out to fail the
rest of the steps in a scenario.

See https://github.com/silverstripe-labs/silverstripe-behat-extension/pull/12