New keys and device concept
Added new keys from ScanInfoDict, ChannelDict and DeviceDict. Some variables didn't need to be instance variables so I made them method variables Changed some variable names to be more descriptive of their function
In bluesky, datakey names are strings of device names and signals. By grabbing the first device in the string, we can define a set of root devices and the list of channels that they expose. In this implementation, devices have a device type, I call them axis or counters here. Channels do not carry a type so I am not sure how 'axis' or 'counters' can be applied as a channel type. In this implementation, all channels in an axis device are axis, similarly with counters. We probably in the future want Devices to be given a recognized type like 'lima' and channels should also get a type like 'axix' or 'counters'. I know that it is done this way currently on master, but this violates the ChannelDict schema.
Added more debug and info messages. When dicts are printed by the logger in debug mode, they're printed as block YAML format for readability.
I removed the "blissdata key" feature on this branch. I still think its a good idea but we can talk about it for a future PR.