Require channel metadata when constructing Series and SeriesBlock objects
This makes sure we aren't attempting to derive fundamental properties ofthe channels from the data provided, which should eliminate one class of bugs.
The big change here is that for client.stream calls we are required to do an additional flight exchange to retrieve the channel metadata first before constructing the SeriesBlock objects.
closes #7 (closed) #12 (closed)
this changes is handled through multiple atomic commits, so please review independently (no squash)
Edited by Jameson Rollins