Avoid using std::shared_ptr in parser

We can safely work with pointers since grammar_t now retain all rules involved in parsing the document.
Add more info about clang 3.2 setup
Code shuffle
Make it explicit, if a match is from a rule’s end pattern
Use injection patterns from “group rules”

For example if one grammar includes another, the included grammar works as a group rule and previously had its injections ignored.