Return err on failure instead of using panic.

Based recommendation from Effective Go
(http://golang.org/doc/effective_go.html#errors)
libraries should not panic but should return
an error value on failure.

Note that this changes the FromString API and thus
is not backwards compatible, thus the semantic major
version of go-semver must change. ;-)
Now backwards compatible.
*REALLY* backwards compatible now. ;-)
Update the README with the New function explanation.
Merge pull request #4 from aeden/master

Return err on failure instead of using panic.