Create 'Browse' app

This is a refactoring commit to make the browse logic
independent of projects.  By doing so, we'll be able
to instantiate the browse view for different types of
things, such as people, opportunities, and projects.

Right now, this is only working for projects, but
this refactor was necessary to take the next steps.

This refactor makes one important change -- the
list of items (projects) in the browse view are rendered
seperately from the rest of the page.  This allows
the page to render (search boxes, etc), while the data
from the server loads asynchronously.  This change is in
line with the philosophy that all pages should LOAD and
RENDER immediately, with subcomponents rendering as the
data is available.

Most of the routing logic is going to migrate to
browse_app.js, as it makes much more sense to handle
how triggers to projects, tasks, etc work.  This is in
line with the common backbone paradigm of only having
one application router.