fingerprinter: API refactor

 * info struct contains raw fingerprint instead of compressed string. closes #61
 * encode/decode functions return < 0 on error, consistent with rest of API