More nodejs payloads

This time with less recursion. I have moved the nodejs payload logic into a mixin (`msf/core/payload/nodejs.rb`), which all of the related payloads use.

The following payloads now need to be verified:

- [ ] `nodejs/shell_reverse_tcp`
- [ ] `nodejs/shell_reverse_tcp_ssl`
- [ ] `nodejs/shell_bind_tcp`
- [ ] `cmd/unix/reverse_nodejs`
- [ ] `cmd/unix/bind_nodejs`