Append record stub & union pattern match case

This PR contains the previous one (#480) and contains union pattern match case appending instead of prepending.

* [ ] Fix issue with when multiple record fields are on the same line
* [ ] Enhance code gen when multiple pattern match clauses are on the same line
* [ ] see if we can improve the check
I guess we can add an ``intersectRanges`` function, and we need to know the number of lines of the text buffer though (there's the ``LineCount`` property on an ``ITextSnapshot``).