add an assertion for bytes read is equal to image size as recorded in image header
Changes:
* Introduce a file header size
* Read the info header separately, based on the file header data offset
* Use a negative of the file header size offset for the info header
* Get rid of reading junk bytes, if any, as these are now tacked onto the end of the info bytes read
* Add a byte_assert function and an assertion that the number of info bytes read is greater than or equal to the number of info bytes specified
* Move row size calculation into get_bmp()
* Make all remaining references to the structure dicts within get_bmp rather than elsewhere
Changes:
* Add some comments
* Move comp after func in call to byte_assert()
* Make some variable changes more consistent
Changes:
* Make the data unpacking code match the header unpacking code
* get rid of the lines variable intermediate step
* Make some variable changes more consistent
Changes:
* Separate out the unpack_bitmap function
* Change the call to get_data() to pass in one argument, a list, rather than several
Changes:
* Keep the info_headr dict all in it's original function and just pass out the specific values needed
* Add a comment about floor division and potential future issues.