Add negative bounds checks for string_head and string_tail
Fail when read_file is called with a negative size
Merge pull request #2022 from worr/bugs/bounds-checks

Bounds checks for read_file, string_head and string_tail