[WIP] Destructuring

Implements destructuring pattern matching.

    id firstIfConcatenation = [HMRCase match:combinator withCases:@[
        [HMRCase case:HMRConcatenationPredicate(HMRBind, HMREmptyPredicate) then:^(id<HMRCombinator> first) {
            return first;
        }],
    ]]

Fixes #15.