Add ihex_rs_from_mem() for unterminated string data.

Determine string length of given data in ihex_rs_from_string() and use
new ihex_rs_from_mem() for actual implementation.  Pass file size to
ihex_rs_from_mem() in ihex_rs_from_file(), as files are rarely
NUL-terminated.
Avoid duplicate calculation of record length.

Use record length value already passed as parameter to
ihex_parse_single_record() instead of calculating it again.
Add proper end-of-data checks during parsing.

The size parameter given to ihex_rs_from_mem() needs to be checked to
avoid access beyond the valid data range.  The old checks for \0 bytes
are also left intact.
Add ihex_rs_from_mem() as public API function.
Merge pull request #10 from acolomb/fix-unterminated-parsing

Fix parsing of unterminated data in memory