Fix websocket freezing

This takes care of issues #167 and #223 
The entire run process is now broken out into the networkx/IPython setup used in qiime. A networkx graph of jobs and their dependencies are created, then submitted to the ipython cluster for running. This gets rid of the blocking issues we had on the waiting page and allows proper redis communication.

In doing this, I had to change the populate_test_data.sql to have the proper data_type for job creation and testing. The job object and it's tests have been updated accordingly.
:+1:

On (Sep-10-14|16:04), Daniel McDonald wrote:
> > +            Rarefaction depth for analysis' biom tables. Default None.
> > +        """
> > +
> > +        self._logger = stderr
> > +        # Add jobs to analysis
> > +        if comm_opts is None:
> > +            comm_opts = {}
> > +        for data_type, command in commands:
> > +            # get opts set by user, else make it empty dict
> > +            opts = comm_opts.get(command, {})
> > +            # Add commands to analysis as jobs
> > +            # HARD CODED HACKY THING FOR DEMO, FIX  Issue #164
> > +            if (command == "Beta Diversity" or command == "Alpha Rarefaction"):
> > +                if data_type in {'16S', '18S'}:
> > +                    opts["--tree_fp"] = join(get_db_files_base_dir(),
> > +                        "reference", "gg_97_otus_4feb2011.tre")
> 
> we should burn that tree...
> 
> ---
> Reply to this email directly or view it on GitHub:
> https://github.com/biocore/qiita/pull/268/files#r17395178