event driven widgets; bootstrap thrown in for fun

Switch library widgets to be event driven:

Instead of widgets that each watch for state changes on popstate and re-run
unless we are able to short-circuit, each widget runs an init function the
first time it gets rendered and listens for custom events to update when needed.
A single watcher maps url state changes to custom events. This allows better
decoupling of most of the UI elements from eachother, as well as cutting down
on unnecessary processing on each popstate. It should also let us get rid of
several ugly workarounds on mobile currently necessary because of interaction
between different browser history usage. Finally, it is better suited to
underlying data being more heavily cached and updating using the sync API.

Also switch to bootstrap to see how much jqueryUI specific code is intertwined
where it shouldn't be.
widgetize elements and separate code by widget

also mostly limit jquery selectors to the widget they should be acting on so
it's possible to have two of the same type of widget on a page without
interfering with eachother.
remove bootstrap from eventfullib
add bootstrap to static
non-library page to do arbitrary citations directly

uses a citeendpoint php page that proxies to a citation server
with CORS or hosted on same domain and open to requests the requests
could be made directly.
Pulls full list of citation styles from static file, for autocomplete
in addition to the default list in select.
first pass indexedDB + minor tweaks
switch to jsrender templates
update jquery. remove old JS libs.
update bootstrap to 3.0

including some tweaks to markup and css
rename jquerytemplatesbootstrap dir to jstemplates
use a more typical bootstrap style for eventfullib
remove old jquerytemplates
more eventful and get rid of old callback init
bootstrap styling tweaks
remove History.js shim and use real history api
use typeahead.js to replace removed boostrap one
add build script

versioning it is necessary to replicate results since the built files are
used in the libraries and dependencies break if you try to build with
all files
fix some styling and template issues
use Zotero.Preferences for library+global prefs
human readable labels for export formats