perf(cluster): user NodeJS cluster module to use all CPU cores

This makes the server.js file fork workers for the number of CPUs on the
system. Each worker will then bind to the MongoDB and Express
ports. They are really all using the same connection through the master
process, but this lets the logic happen in seperate threads. I do worry
that we may see more VersionErrors if one user makes more concurrent
API requests. That really isn't the fault of cluster though, as that
issue still would have been present in the previous single-core version.
Merge pull request #2447 from colegleason/cluster

perf(cluster): user NodeJS cluster module to use all CPU cores
fix(profile): fix bug where empty profile displayed on username click

Due to #2396, Shared was undefined in one controller. There may be other
cases we should look out for.

Fixes #2465
initial copy updates
adding mechanic to count previous pets
adding more fields to profile
initial copy updates
Merge branch 'copy' of https://github.com/deilann/habitrpg into copy