fixed read into BITMAPFILEHEADER structure out of alignment issues.

the following will caused alignment issues:
if (fread(&bmp->header, sizeof(unsigned char), sizeof(t_BITMAPFILEHEADER), img) < 1)
    return -1;    /* couldn't read the file header

instead, we read a member at a time, i.e., first byte of BM:
if (fread(&bmp->header.sig_b, sizeof(unsigned char), sizeof(byte), img) < 1)
            return -1;
...
t_BITMAPFILEHEADER & t_BITMAPINFOHEADER updates, added 'int set_bitmap_filename(...)'

- updated t_BITMAPFILEHEADER and t_BITMAPINFOHEADER members datatype
- changed 'byte sig_b' and 'sig_m' to 'uint16_t type'
- added 'int set_bitmap_filename(t_bitmap *, const char *);'