Fix issue #250 Weird context popping
Fix issue #250 Weird context popping

At the end of a test suite the last context is popped off the stack
leaving it empty. However, this doesn't seem to be intended as there are
an equal number of pushes/pops. This error occurs because the context
pushes/pops are not done with a stack, but rather relies on the context
parent/child relationships.

Use a stack to properly keep track of context pushes/pops.

istr/busted,ryanplusplus/busted,leafo/busted,nehz/busted,o-lim/busted,sobrinho/busted,xyliuke/busted,Olivine-Labs/busted,DorianGray/busted,mpeterv/busted