Afra

TODO:
* Create Postgres database directory in repository/pg.
* Move env.yml to repository.
* Swap Postgres in place of SQLite.
* Rewrite User & Session class using Sequel (migrations and model)
* Remove  Redis. For TTL, see:
  http://www.postgresql.org/message-id/689D39ED76CF4967B823E2718CF15A82@ticketevolution.com
* Keep database.rb? Probably not.
* Spec user model.
* Refactor Web & SessionManager class.
* Remove requirejs shims with jspm.io
* rake test:spec - run all specs
* rake - run all tests (alias to test:spec for now)
* If time permits, expose Google+ & Twitter login URL.
* On login, redirect to curate/ which has a nav bar on top with user's name and a logout button.

Signed-off-by: Anurag Priyam <anurag08priyam@gmail.com>
Integrate JBrowse.

Included JBrowse a git submodule, tracked from yeban/jbrowse (branch 'afra').

Included for testing:
* MAKER2 generated gene prediction in GFF3 format for two scaffolds of fire ant
  genome.
* Gene prediction for the two scaffolds of fire ant genome in JB/JSON format.

If you `rackup -I lib`, then visit localhost:9292/jbrowse.html, you will see a
working instance of JBrowse:

  * JB and supporting Dojo libraries have been symlinked from jbrowse/src into
    app/src/vendor.
  * All CSS dependencies of JBrowse have been compiled into one jbrowse.css
    file, with modifications to import directives to load necessary CSS from
    app/src/vendor.
  * All images from jbrowse/img have been copied to app/img.
  * JB's data is served from app/data/jb.
  * jbrowse.html is like jbrowse/index.html with a few modifications to load JS
    from app/src/vendor and styles from jbrowse.css.
  * app/ is the root of the webserver launched via rackup.

TODO:
* Reduce JB's UI.
* Once we can load JB (and it's depedencies) with RequireJS, remove the shims
  using jspm.io.
* Operate on JB's source.
* Rewrite JB's Perl scripts in Ruby (ev -> jb).
  * contents of data/jb should not be a part of the repository
* Task model
  * Sequel migrations for tasks table.
  * Task model
  * Script to populate tasks table from ev (ev -> pg)
* /curate
  * nav bar on top with user name and logout button
  * Task UI after nav bar: get the location of a task's JSON from server and
    call new Viewer() with it.  new Viewer() will require and initialize JB.
  * Next button at the bottom.  Clicking Next redoes the step above.
* Include a BAM file (and data in all formats supported by JB?) for
  testing.

Signed-off-by: Anurag Priyam <anurag08priyam@gmail.com>