ENH: Add search support (back-end)

Add search support to slicerappstore, so that a 'search' query parameter
is correctly propagated through to the actual database query (requires a
corresponding change to slicerpackages).

Note that this is only the back-end support for now, e.g. a URL with a
'search' query parameter manually added. Front-end support (i.e. adding
a new form input field to the page UI) will be done in a subsequent
commit.
ENH: Add search support ("web" front-end)

Add a search input field to the default layout for slicerappstore. This
allows users to interactively enter and change search criteria.
STYLE: Simplify parameter passing

Refactor the logic in Slicerappstore_IndexController::categoriesAction
to simplify mapping parameter names as received from the caller to their
names as they are passed to Slicerpackages_ExtensionModel, allowing us
to remove the special-case ternary where specifying the param array key.

Also remove remaining superfluous uses of '$avalue' lambda.
ENH: Improve search behavior

Tweak key handler of search input to set up a delay before updating the
results, and also to do nothing if the search text has not changed. This
fixes the page refreshing on press of e.g. navigation keys (arrows,
home, end, etc.) and improves responsiveness by allowing several
characters to be entered before a refresh happens.
ENH: Improve styling of other appstore filters

Apply similar styling (except the search icon) to the revision filter
field as the search field so that the two are consistent, and also apply
similar styling to the <select> filters (arch, os) for improved
appearance, especially in alternate system color schemes. Also limit the
width of the revision filter field, which both improves appearance
(otherwise the search filter field seems to be off by its lonesome self)
and conserves space.
BUG: Work around combo box styling in Firefox

Add a work-around for styling of combo box (<select>) elements in
Firefox, where 'appearance: none;' is not sufficient to hide the default
dropdown arrow.
ENH: Improve styling of extension items

Apply some corner rounding to the borders that show when hovering over
an item in the extension list. This improves consistency with the
overall look of the site.
ENH: Improve styling of extension buttons

Tweak the styling of the download and [un]install buttons to more
closely match the other recently tweaked widgets. The changes are subtle
but the buttons are now much less flat, providing an improved and more
consistent look.
ENH: Further improve widget styling

Tweak the styling of text input fields to produce a more subtle effect,
and more importantly, one that is more consistent between browsers (the
old effect was rather excessive in gecko). Also add margin specification
for similar reasons (webkit defaults to 2px, but gecko uses 0, which
resulted in the fields looking a little squashed together). Rearrange
shadows to be in the intended order, and add 'dummy' shadows to
non-hover so that transitions work correctly. Tweak text shadow on
buttons slightly. Remove border effects from <select>, leaving just the
shadow effects.
Merge pull request #49 from mwoehlke-kitware/add-search-support

Add search support, improve styling