Track lost samples from rarefaction

This adds a new property into the Analysis object to get out samples that were dropped during processing. I also add some metadata to the analysis HDF5 files that tracks what study and processed data a sample came from. This also should display removed samples on the results page. 

It seems to work on my computer, but if someone could run an analysis with this and make sure it works on someone else's computer before merging that would be helpful.
what about replacing all this block for `all_samples = {k: set(v) for k, v in viewitems(all_samples)}`?