Fix a couple issues with extension and general resource docs.

ExtensionResource was missing docs, and had old-style fields. Those have
been fixed up so that they have some real doc output.

Also, the @webapi_permission_required decorator wasn't preserving
docs, so that's also fixed.
Preserve decorator state across webapi decorators.

Several of the webapi decorators attempted to set things like possible
error results, but they'd be lost, due to decorators not passing on that
information correctly. In some other cases, the wrong function would be
modified (which ended up working anyway, due to the function's
dictionary being transferred after, but it polluted the function).

There's now a @webapi_decorator, which intelligently merges things like
the error response and request field lists. It's meant as a replacement
for @simple_decorator for creating webapi-specific decorators.

Along with this, the calls to @webapi_response_errors in decorators have
been moved to decorate the correct function.
Merge branch 'release-0.7.x'
Move static media to static/ and start compiling it.

Until now, static media has lived in djblets/media, which didn't match all of
our other codebases. I've moved all the files to djblets/static and set things
up to compile together our various javascript and CSS files.

As part of this, we no longer ship our own copies of jquery and jquery-ui.
The templates now load these from the google CDN.

Testing done:
* Ran build-media.py and verified that everything got compiled correctly.
* Used this from Review Board and tested that the dashboard and extensions
  pages still worked and looked correct.

Reviewed at https://reviews.reviewboard.org/r/4654/