Add support for requiring a concept in the query context

This is a quickly implemented solution that only works for a single
concept due to how the validation works.

The behavior is such that no other filters can be added until the required
one is added. From that point on, it can never be removed only changed.

If an invalid state is achieved (initial session), Cilantro will trigger
the 'context:invalid' state and set the `context_invalid` flag on the
session's state.

Handlers can be bound to the event to display a notification when an invalid
state occurs.

Fix #387