Adding setter types

Adds type to top-level accessors and class accessors.

Requires that setter have exactly one `SimpleFormalParameter` or shows nothing.

Contributes to #2613.

@devoncarew