hashids scala-way

Hi, newhoggy!

I'v been using Java version of hashids for some time in my scala project and when I found your scala port, I was eager to switch and use native library. But then I found that code didn't differ from java version... All those vars ... So I went with a rewrite, to make it more into scala-way.
Also I found and fixed couple things:
1. Decode function result check with encode function. Returing empty result in case of buggy decode function isn't good idea. Decode should be working fine without double checks.
2. Implicit functions in separate file. Those naturally fit into complanion object next to apply functions.
3. Trying to fix incorrect alphabet in constructor: if it's incorrect, it should be clearly communicated back to programmer. Otherwise alphabet is different from what library client thinks.

Hope this is helpfull.

PS. One other thing i dislike is that your repo is a fork of java's one. Scala deserves it's own repo, I think. It's not possible to pull updates and publish pull requests to java repo anyway.