Several misc. changes necessary for QIIME issue #998

Several miscellaneous changes that were necessary for [QIIME issue #998](https://github.com/qiime/qiime/issues/998).

Changes include:

* order-dependent tests are fixed
* ```Table.collapse*ByMetadata``` has an additional optional argument, ```include_collapsed_metadata```,  which suppresses inclusion of metadata in the collapsed output table
* ```Table.collapse*ByMetadata``` has an additional optional argument, ```one_to_many_mode```, which allows the user to specify two ways of handling one-to-many data (either add the abundance counts or divide them)
* ```Table.bin*ByMetadata``` and ```Table.collapse*ByMetadata``` have an additional optional argument, ```constructor```, which allows the user to specify the type of binned/collapsed table that is output
* added ```Table.transpose``` method

Fixes #123, #126.