Provide new ways to introspect webapi Resource classes.

Review Request #1748 — Created Aug. 22, 2010 and submitted




Provide new ways to introspect webapi Resource classes.

This change provides more information that can be introspected for the
Resource classes:

* Functions can list which error classes the client can expect to receives and
  the fields that can or must be specified for HTTP GET or PUT/POST.

* We can now check whether the @webapi_login_required decorator was used on a
  class, in order to introspect whether the resource requires a valid logged in

* We can also check which optional and required fields were specified in

* Fields on a resource can now provide information on the field, including the
  type and description.

* The list of custom links that a resource provides can now be queried

* It also fixes a couple decorators to preserve the function name,
  documentation and data.
Used this in my webapi documentation generation change. Been making use of each piece of data provided with this.