Fix some compatibility issues

- Use `String.charAt(index)` instead of array like syntax for browser compatibility.
- Use `Array.slice(index, length)` instead of `Array.slice(index)` for browser compatibility.
Merge pull request #92 from meziantou/patch-1

Fix some compatibility issues
Makefile:  Use ?= so variables can be set on command line.
Suppress 'missing field initializer' warnings

from gperf generated header.
Changes append to prepend

When adding something to the beginning it is "prepending", not "appending"
Changes urls to use example.com

As per RFC 2606 it is recommended to use example.com for sample urls in specifications.

One example is left using "foo+special@Bar.baz-bar0.com" because it is designed to demonstrate the complexity of email addresses that should be permitted.
Adds missing newlines
Merge pull request #144 from aJanuary/master

Changes urls to use example.com
Merge pull request #143 from aJanuary/patch-1

Changes append to prepend
Merge branch 'master' into cmake-build

* master:
  Adds missing newlines
  Changes urls to use example.com
  Changes append to prepend
  Suppress 'missing field initializer' warnings
  Makefile:  Use ?= so variables can be set on command line.
  Fix some compatibility issues