Snapshots

Added the ability for the assert engine to create a snapshot and revert back to it, as mentioned in https://github.com/Olivine-Labs/luassert/issues/29
````
snapshot = assert:snapshot()
snapshot:revert()
````
A snapshot includes the following;
* spies
* stubs
* formatters
* parameters (see below)

Added methods to store parameters, which are included in a snapshot;
````
assert:setparameter("MyParamName", myvalue)
myvalue = assert:getparameter("MyParamName")
````
These parameters can be used for luassert specific settings as for example the table-depth display, see issue https://github.com/Olivine-Labs/luassert/pull/33