added first chai assertion
pass a scope object around the different methods instead of the element
this allows timeouts to be set as a config on each scope
added more tests to ensure error messages are correct
guarding against using assertions with negations (they seem to break when using async)