Implementing bit sniffing as a failover for file identification; deals with #355 and stepping stone for #630

Ran into roadblocks in #630; doing stepping-stone implementation here. Extensions will be used to determine filetype; if unable to do so, read_parser will fail over to using bitsniffing to determine filetype.