v0.1.2 — Fix buffer leak and null pointer dereference

Fixed:
- Buffer leak in Diff#patch and Patch#to_s when an exception was raised
  after git_patch_to_buf but before git_buf_dispose
- Segfault in Error.last when no libgit2 error was pending (null pointer
  dereference)

Added:
- Error.check! — raises the last error if one is pending (replaces Error.raise?)
- Error.clear — wraps git_error_clear() to reset pending error state

Changed:
- TagCollection#exist? is now O(1) via git_reference_lookup instead of
  iterating all tags

Deprecated:
- Error.raise? — use Error.check! instead (emits compile-time warning)