PRX-49 Dot-separated meta values
This PR is a BREAKING with regards to how `.<identifier>` is parsed globally (namespaced names, but also member access). Previously, there was a lexer-level hack that issued multiple tokens when `.<identifier>` was recognized. This has two problems:
1. you can't put noise (whitespace) between the dot and the identifier. Not that anyone should ever do this, but Prexonite Script follows the general convention that you can put whitespace pretty much everywhere
2. it fails miserably if you need to do `.$"identifier with spaces"`. This requires state tracking. And while the lexer _does_ support state transitions, this stuff should be handled by the parser if we want to keep the lexer sane.
With this PR, we now explicitly allow pretty much all identifiers and keywords following immediately on a dot. While I was initially a bit reluctant to give up all of that nice "design real-estate" (I mean `.this`, `.new`, `.as` could be used in interesting ways), we don't really control the libraries that Prexonite Script wants to call into. And reserving words that are pretty common identifiers in C# sounds like a bad idea (e.g., `.And`)
The PR also tweaks how meta data entries are represented to make use of the new dot-separated format. As an adjacent change, we now also render version numbers without quotes (and by extension "real" numbers). All of these are stored as text anyway.
Also:
- Automatically generate `Resources.Designer.cs` (to not depend on Visual Studio)
- Update PSR 2 to use dot-separated module names