Anagram refactor

As discussed in #11, this is a refactor of the anagram exercise without a constructor, using ES5 idioms like `Function.prototype.bind`, and extracting functions based on small units of responsibility.

This also incorporates @dpashkevich's API idea of allowing a parameter list of strings or an array (I've also credited him with the commit since it was his idea and he indeed wrote the code).