improved convert_fastaqual_fastq library code

made conversion from fasta + qual -> fastq more readable and
less confusing
further streamlined both directions of conversion
Replaced tests for certain errors

Rather than modify the test code, decided to leave in some "quality
assurance" tests
Removed some line continuations, added file naming function
Added buffering system for multiple file output
Added a tests: utility function, multiple output files

also did a little cleanup (could probably use more)
Fixes #672, explicitly checks type of opts.input_dir
Cleaned up some code at Greg's suggestion
Changed an elif to an else in the process_sff script
reorganizing workflow library files

this partially addresses #698. the previous workflow.py is now workflow/util.py, and the separate workflow library files (core_diversity_analyses.py and pick_subsampled_reference_otus_through_otu_table.py) also now live in the new workflow/ directory. all unit tests and script interface appear to be passing, but i wouldn't be surprised if i still uncover some imports that need to be updated.
ported otu picking worflow functions to upstream.py

these are bloated with a lot of extra import statements and test data. next step will be to clean that up.
fixed class name

also git rm'ed files that should have been git rm'ed a few commits back. in hindsight i should have git mv'ed some files, but it's too late now.
updated to ignore files created by compiling denoiser code
ported downstream workflow functions to downstream.py

this is really bloated right now with extra test data and imports. will be cleaned up from here.
modified to split workflow function to new script

still needs some clean-up
fixed missing import
updated to use new test data
removed unused imports
removed extra import
updated all tests to use qiime.test.get_test_data_fps()