Cleans up and refactors verify code and adds more specific error message...

I'm thinking of using something along the lines of your verify file in a project of my own, so I've done some refactoring and clean up and thought I'd send a PR if you are interested. 

Some of the things I've done:
- Removes unnecessary `passed` variable.
- Removed a lot of duplicated code (stringify, clean).
- Reduced a lot of indentation levels and unnecessary code lines.
- Used path module instead of just requiring it.
- Added more specific and informative error messages (e.g. if lodash isn't included in `user solution`)

Let me know what you think.

Thanks!