Swap underscore.js for lo-dash

A difference btw underscore and lo-dash is that lo-dash uses _() for chaining, while with underscore, _.chain() needs to be called explicitly. Replaced a bunch of uses of _().foo to _.foo() to avoid confusion.