Allow identity checking for non object types in TraversableContains assertions.

This fixes #745.
The possibility to check identity for non object is done by adding a new optional parameter.
This comes in addition to the existing one that already allow to check object identity or not.
Update all the assertions that depend on TraversableContains.

Also add tests for all the impacted assertions. (assert*Contains)
Merge pull request #746 from farnoux/master

Allow identity checking for non-object types in `assertContains` and all asserts that depend on `TraversableContains`.