BUG : made Frame respect creation time metadata

Frame(data, frame_no=frame_no, metadata=md_dict) dropped
md_dict.

 - Added test
 - minor style changes
MNT : major refactoring/cleanup work to Cine

 Probably should have committed this in pieces

 - reading the headers no longer creates attributes
 - headers are now dumped into dictionaries
   - header_dict <- minimal information to read the file
   - setup_fields_dict <- brain dump of lots of metadata, contains many
     deprecated or useless fields.
   - bitmapinfo_dict <- information about the bitmaps (size, bit count,
      ...)
   - stack_meta_data contains a curated list of meta-data
 - added important meta-data back an properties (shouldn't be mutable!)

 - frame_time_stamps is a list of the time stamps on each frame
 - all_exposures is a list of all the exposure times
 - now respects `dtype` kwarg
 - added minimal metadata to outgoing Frames
 - c.trigger_time returns a dictionary of datetime and second_fractions