BLOCKER: Allow multiple templates per raw data

Multiple fixes in the PR:
- Allows multiple prep templates per raw data
- Preprocessed data is now linked with prep template rather than raw data
- Fixes #326 
- Changes on initialize.sql:
  - SPECTRA removed
  - SFF added
  - FASTA -> FASTA-Sanger

This PR allows @antgonza to continue with his PR.
If someone else wants to weight in, that would be very useful.

On (Oct-29-14|17:03), josenavas wrote:
> > +            If the prep template already has a preprocessed data
> > +        QiitaDBUnknownIDError
> > +            If no prep template with id = id_ exists
> > +        """
> > +        table_name = cls._table_name(id_)
> > +        conn_handler = SQLConnectionHandler()
> > +
> > +        if not cls.exists(id_):
> > +            raise QiitaDBUnknownIDError(id_, cls.__name__)
> > +
> > +        preprocessed_data_exists = conn_handler.execute_fetchone(
> > +            "SELECT EXISTS(SELECT * FROM qiita.prep_template_preprocessed_data"
> > +            " WHERE prep_template_id=%s)", (id_,))[0]
> > +
> > +        if preprocessed_data_exists:
> > +            raise QiitaDBError("Cannot remove prep template %d because a "
> 
> that is not what I understood. When I said something erroneous, a preprocessed data will not be created, so no need to cascade.
> 
> ---
> Reply to this email directly or view it on GitHub:
> https://github.com/biocore/qiita/pull/531/files#r19581288