Improvements for C# / VB.NET

Having to spell out trivial generators for C# "record types" (i.e. immutable classes with only readonly fields/properties) gets a little tedious, so I extended the reflection generator to cover this case. As it's quite strict in the types it accepts (only single-constructor concrete classes, no type parameters, no mutable properties or fields) it should be safe.

I also exposed `Arb.convert` and `Arb.fromGen` as extension methods for easier C# use.