Speed up string concatenations
Default to using diff_match_patch_native, fix issue where strings returned from DMP native were not tagged as UTF-8.
Added more specific error types
Fixed some specs and improved exceptions.