feat(ProcessInstanceAssert): check if process instance is waiting at task before evaluating taskQuery()

fixes #36
test(ProcessInstanceAssert): fix test so that exepected AssertionError must be thrown by task() call and test fails if not

Affects #36
chore(ProcessInstanceAssert): clean up code base a bit and factor out process starting
Merge branch 'processInstanceAssert_task_fails_if_instance_not_waiting_at_taskDefintionKey'