Specced out more tests, less returns, more exceptions
Made get_file_signature consistent, tests