Adding JavaScript version

The python version isn't quite complete.  This JavaScript version produces more combinations and is capable of incorporating additional requirement levels.