Don't pass None to API resource kwargs when a value is not provided.

When invoking a resource method without providing a value for an
optional argument, we were passing None, preventing the handler from
using its default. This was especially problematic for bools. Now we
only provide something if it's not None.
Release Djblets 0.6.26.
Bump to 0.6.27 dev.
Merge branch 'release-0.6.x'
Stop polluting the global WebAPIResource.allowed_mimetypes list.

We were adding items to self.allowed_mimetypes in WebAPIResource, but
this was the class-defined list, and not an instance-defined list. This
meant that every single WebAPIResource indicated in this field that it
accepted every known mimetype. We now make a copy of the list early on
for the instance to modify.
Merge branch 'release-0.6.x'
Use a different URL for SSL-backed gravatars.

The gravatar docs said we should be using secure.gravatar.com instead of
www.gravatar.com when using SSL, so update our gravatar support to
use that instead.
Merge branch 'release-0.6.x'
Improve the inline editor size matching and increase the animation speed.

The multi-line inline editors weren't exactly the correct width of the
<pre> it was representing. This is due to how width calculations work in
elements with padding, which is a particular problem with textareas.
However, the "box-sizing: border-box" CSS rule can fix those
calculations on any browser we care about (even as far back as Firefox
1.0, IE8, Safari 3, and Chrome 1).

Now inlineEditor will put the textarea into the proper box sizing mode
and calculate widths from that, making the width align properly.

For the height, we were using height() and not outerHeight(), giving us
some wrong values and causing a little bit of a jump. outerHeight()
makes it match up seamlessly.

The buttons fade out when closing the editor, and fade in when opening.
This is nicer than them just disappearing.

Single-line editors didn't properly calculate the space they needed, and
could cause the parent size to change. We now factor in margins and set
the width using outerWidth() instead of width().

And finally, to make it feel smoother, the animation speed has increased
by 150ms. It's also customizable now, so callers can always specify
different speeds (and we don't have magic values).
Fix buttons in modalBoxes.

My inlineEditor change had a hide() in the wrong place that caused
buttons on modalBoxes to be invisible. This moves the hide() call to the
inlineEditor's buttons.
Synchronize extension state across threads/processes/servers.

A lot of extension state was local to the process modifying the state.
If one process enabled an extension or modified an extension's settings,
other processes with existing knowledge of extensions would be out of
date. Only new processes would get the new state.

We now use a cache key to synchronize the state of an ExtensionManager.
On every request, we check each ExtensionManager to see if it has
expired. If it has, the ExtensionManager will be fully reloaded.

Each unique type of ExtensionManager (as indicated by its 'key'
property) will have its own cache key.

This allows us to ensure synchronicity across processes or even servers.

Unit tests were added to ensure this does not break.
Fix inlineEditor when being used without visible buttons.

inlineEditor can operate without buttons. However, a recent change made
the assumption that there would be buttons, and broke in this case.
We now check for the buttons before attempting to operate on them.
Fix some admin-related templates to better fit the admin template structure.

Our log viewer templates and siteconfig settings templates weren't
properly matching the admin UI template structure, causing them to not
always look correct. This updates to match the correct structure.
Release Djblets 0.6.27.
Merge branch 'release-0.6.x'