Web study search interface

This pull request is rather large, so sorry about that. It adds a ton of functionality to the study selection page, including the ability to search and select samples by metadata, select multiple data-types per study and multiple processed data files per data-type, and database updates for selection/deselection as well as the ability to continue selecting samples after leaving and then returning to the analysis pipeline. It also adds a dependency on the pyparsing module.

Currently I need people to play around with the page functionality and give input on what is broken/wonky, what needs to be changed interface-wise, and what needs to be added. 

Known issues:
 - ~~Use [chosen](http://harvesthq.github.io/chosen/) for the multi-select boxes for each data-type~~
 - Have some tooltip or other way of seeing the pertinent values for processed data
 - ~~Have some way of knowing what metadata categories are available to search over~~
 - ~~Add tornado tests once that package is figured out~~
 - ~~Handle malformed queries better than an error message coming up.~~
I looked into it and it is awesome, but doesn't look useful in this case. I have the issue of needing to selectively count based on whether or not the sample is already selected, and it looks like counter is fed an iterable and counts everything in it. Will deff keep that module in mind though for future stuff.