Let's try to be a bit more normal

This first commit adds the usual stuff like require, backbone,
bootstrap, and currently only views the notes.  Note that the database
structure is improved to have a dedicated subject and encrypted
columns, so the content column is no longer mucked with at runtime,
minus decrypting it as needed.  This also means the content can be
sent only when needed, big speed boost.
Exclude content from the not listing (faster)
Add api to fetch content for a note
Break up the backbone views, update persisting calls
Add bootstrap tab plugin, and move into plugins dir
Show basic note details in bootstrab tabs
Add password modal and decryption

Also upgraded bottle, to better support error handling.
Add client side search and tighten up css a bit

Once everything is working I'll lazy add server side search to search
the actual content (finally being able to exclude the encrypted
blocks).

Man this commit was easier/nicer/better with require, bootstrap,
backbone, underscore... geeze.
Add crude edit support, including a codemirror editor

Note the ui kinda goes wacky when you save, and ctrl+s only works if
the page has focus (not say the editor).

wip
Add support for mutating existing notes
Add alert for successful save, and fix save defect

The model was calling set twice, thus adding the modal twice.  The fix
was to have the view only listen to the specific attribute it cares
about (content), additionally I see the password set to be silent (in
case anything tries to listen to that).
Add password and tags to note editor
Add row pointer, consistent tab close, save msg
Make sure all fields are saved to the db
Make ctrl+s always work

Note this has only been tested in chromium.
Make the search hit the first tab

I know I know, the modal shouldn't know the specifics of the tabs.
Initial support for note creation
Fix issues around focus, fetching, and tab closing

1. If you close a tab, be able to open it again
2. When migrating data, be sure to strip() to avoid adding a newline
   on the first line of the migrated content.
3. Set the focus to the subject or the content area when a new tab is
   created.
4. If you click on a row for a tab that's already open, open that tab
   instead of trying to create a new tab again (or make a data fetch
   and nothing happens cuz nothing changed)
5. Stop relying upon content change for note display.  Rather rely
   upon uid changing (for a new note) and a dedicated content:fetched
   event for all ther cases.

Note: I would really like to know how properly to fire code after
bootstrap has finished it's animations. There are a few callbacks now
to handle cases where code fails if bootstrap hasn't finished (say
showing a tab or closing a modal).
Be rid of one setTimeout (use bootstrap shown event)
Remove another setTimeout (use jquery .delay)