Add support for pattern matching on records

Implemented as pattern matching macro that inspects sub patterns and
generates an extractor that extracts requested fields out of the record.

It only works on 2.10 as it relies on new api that was introduced in 2.11
that lets one to explore subpatterns if macro expands in pattern matching mode.