Embed Encoder struct in the Indexer and switch BuildCommit to a method
Closes #62 (closed)
Closes #63 (closed)
I've kept the method call consistent with the codebase i.Encoder.tryEncodeString vs i.tryEncodeString for type embedding, let me know if I should change it