Missing record fields

This is based on 311.
I believe the quick fix could also work for DefinitionsInSigAndImplNotCompatibleFieldOrderDiffer, but I want to await feedback first.

@auduchinok ready for another review!
@auduchinok the IFSharpElementFactory can behave very differently based on what treeNode called the .CreateElementFactory() function.
Would it make sense to have a different factory for signature nodes? It would be the caller's responsibility to create the right factory, but at the very least you would be somewhat more conscious on what is possible.
Another question in that regard is how relevant is is for new signature nodes to be created by a signature file parser? In general, when I want to add something to a signature file. How important is it that the new nodes were created by using the ParsedSigFile tree? As implementation and signature share some nodes, does it matter much for Rider?