Allow properties to be declared to be awaitable
Allow properties to be declared to be awaitable

Instead of turning every async property into an GetXXXAsync
method, create instead a special-purpose class that prevents
doing the `.Result` anti-pattern and instead makes it trivial
to just `await Property` so that the API remains idiomatic.

We may expose analyzers that can hint at what awaitable
properties should run on the UI thread, for example.

tondat/clide,tondat/clide,tondat/clide,clariuslabs/clide,clariuslabs/clide,clariuslabs/clide