Dev of analysis helpers

Sorry for the massive amount of changes; probably breaks some things so I can undo and handle them separately. You might want to pull this branch separately and test.

Added logging instead of print lines.

Removed global synapse login; each function should take a synapseclient.Synapse object (more flexibility)

Rewrote the query2df to handle different table types (entity, file, etc). Also, added option if passing a delimiter, merges values in a column instead of taking the first one.
I realize now that what I wrote was created before we had chunkedQuery and this method would fail on this as queryContent would be a generator.  If we call list(queryContent) however we should be safe for both senarios.