Prevent non-superscriptable object from exploding

Changing the order of the test for whether or not an error exists stops the
test runner from ending preemptively with a TypeError for object types that
are not superscriptable (for exmple, the Response objects that come from
Flask). This change prevents the TypeError when looking for
test['topic']['error'] but allows the VowAssertionError to bubble up,
including its message about the actual failed assertion while preserving
the related stack trace.
Add tests demonstrating topic-less tests

This exercises print_context with a test that doesn't have a 'topic'
key.
pep8 compliance
don't print an exception message, that's silly.
Merge pull request #64 from sleepynate/patch-1

Fixed #64: Prevent non-superscriptable object from exploding