Matcher that allows the user to specify a partial ordering (a relative
order) between items in an iterable. The iterable may contain gaps
inbetween two matching items. Gaps may appear at the beginning, end or
in between. A user may specify may gaps in the sequence.

e.g. Given an iterable 1, 2, 3, 4, 5, 6, 7 if the user were to specify
containsInRelativeOrder(2, 4, 6) this would match successfully.

This commit is the direct incorporation of a patch provided by Kevin Pauli.

See also https://groups.google.com/forum/?fromgroups#!topic/hamcrest-dev/FsLlyRcGPzs
Added additional test cases and added it to the code generator so that
it'll appear on the "Matchers" factory utility which was initially
missing from Kevin Pauli's patch.
Merge pull request #74 from kay/relative_order

Relative order