Adding support for prerelease identifiers

This is implemented per https://github.com/npm/node-semver/issues/88
It has to be a string, so no, `0` or `false` would not be valid anyway, and would produce undefined behavior.

If you'd like to add type-checking, and a test to verify the same, then patch welcome.