feature: reporting progress

'describe' reports progress to a passed in reporter.
'describe' reports when context has ended it's run.
Setting up structure of bandit's self tests.

Adding reusable fakes and creating convenience header (specs/specs.h)
Making 'it' testable

Creating overload that gets all its dependencies injected.
'it' reports when it has succeeded.
'it' reports failure during progress.