Add auto-assign parameters

This sort of parameter doesn't need a type to be specified, just the
name of a field or property. When a value is passed to that parameter,
the value will be assigned to the field or property automatically.

This commit also allows methods, constructors, and property methods to
be defined without bodies. If an auto-assign parameter is specified,
the body will be added implicitly. (In the case of constructors, the
auto-assign parameter is not needed).