update modules.bitcoinTip with skeeto's refactoring, my refactoring, and my fixups

I worked my way through skeeto's bitcoinTip and updated RES's copy of the bitcoinTip module with it, refactored a little more, then added in more RES functionality like watchForElements('newComments', ...) and forEachChunked

For more details see:
https://github.com/skeeto/bitcointip-user-js/commit/res-module-plus
https://github.com/skeeto/bitcointip-user-js/commit/4ae03fde597cea4a8239cb5fd0ccfc27461d9664

It probably deserves another regression test :unamused: