Update specs to match what code actually produces

* Changed some iolist() to iodata() because function can return
  binary(), which is not allowed in iolist().
* On error, compile and match return {'error', any()}; replace can also
  return 'error'.
* Changed compile arg and return value to distinguish between uncompiled
  and compiled pattern.
Update tests

* Moved two compile tests from match_test/0 to compile_test/0.
* Removed a duplicate test from match_test/0.
* Added a {capture, _, index} test to match_test/0.
* Added a RE syntax error test to compile_test/0.
Small efficiency improvement in re2_replace

Fix unnecessary call to re2::RE2::Replace when 'global' option is passed
to re2:replace and re2::RE2::GlobalReplace returns false because no
replacement was made.
Update copyright years
Update README and add CONTRIBUTING and THANKS
Clean up and fix specs
Delete dead code and superfluous semicolons
Change getrebar to start asn1 application

* asn1 should be started before the application public_key on 17.0
Update .gitignore
support/getrebar: add missing copyright header
support/getrebar: fix http proxy setup

Reported-by: Ignacio Martinez