Fixed Bug in Websockets Problem

EDIT2: All fixed! It's still hacky... but now it shouldn't interfere with any of the existing puzzles in stream-adventure anymore. I have it so that it checks if opts.a or opts.b are functions. If they aren't, then my solution is used. With the exception of websockets, all of the puzzles either supply a function or undefined for opts.a and opts.b.

---

EDIT: THIS CHANGE BREAKS THE DUPLEXER PROBLEM. DO NOT MERGE.

I'm working on a less hacky solution. Sorry about that. :(

---

There is a bug in the websockets problem, where the verify script shows a blank string for both the actual and expected results. This means that any solution which connects to the server will be verified, regardless of the information sent to the server. I fix this (for the most part) by providing opts.a and opts.b as additional, possible arguments when the compare() function is called from within /bin/verify.js. It will still pass if extra lines are provided or the \n is left off, but at least it checks for SOMETHING now. In all of the other problems, opts.a and opts.b are falsy (undefined) so for those, verify.js should fall back to the old behavior.
I see this is removing many spaces that are being used to align text, does it look right when you run it after removing the spaces?