Support All and Any operators.

This patch introduces new operators All and Any. The first works
like And but can handle many nested specifications. The Any operator
works like Or but also can handle many nested specification. The
reason of introducing such operators is to use the specification not
only in fluent API but also by classes which build the specification
by composing nested specifications.
Include SpecificationTests and add tests to it.

It seems that the SpecificationTests was excluded from the project.
This patch includes it and adds more tests to it regarding new
static methods All and Any added recently to the Specification class.
Merge pull request #5 from amacal/PR-2

Support All and Any operators.