Go to metadata (first iteration)

Sending a PR so that you can comment on.
Exit criteria to define :).

Here's a list of things that should be done:

* [x] include argument names
* [x] interfaces
* [x] abstract/static members
* [x] static classes/opaque classes that are not modules
* [x] implemented interfaces
* [x] handle empty classes/struct/interfaces
* [x] abbreviated types
* [x] optional parameters
* [x] F# exceptions
* [x] delegates
* [x] display ``default``/``override`` members
* [ ] method/property attributes
* [x] sort implemented interfaces
* [x] class type attributes
* [x] display members before static members
* [x] sort members by display name

Bonus:
* [ ] include open directives so that IStructuralEquatable/... are not wiggled
* [ ] xml comments
* [ ] Enhancement: events special formatting (currently ``add_XXX``, ``remove_XXX``)

Iteration 2 should contain:
* recursive "go to metadata" capability
Extract this line as `isAttribute<'T>`?  I think hasAttributes<'T> has the same check.