versioning: fix msbuild bug

added quotes in one place to make it work, which made other things not
work and suppressed the version attributes altogether.
collections: `RandomElement`

new `RandomElement` extension, with tests.
enums: new library for working with enums

Consolidates enum parsing/processing code from a few projects.
doc: formatting, web notes

some more notes on web.api usage and general web application structure.