Introducing a map to perform multiple pattern matches

This is the first step toward a more complete pattern matching system.

This matcher is unoptimized, just a for cycle checking expression matches until it find one, otherwise returns None. In the future a better algorithm should be devised to handle thousands of pattern matching expressions.