feat(chat): Enhance nickname validity checks.

Reorganized nickname related functionality to be central to nickService. Added server side checks for nickname validity, including duplicate user check. Moved startup code to execute on socket connect instead of arbitrary init.
fix(chat): Remove usage of window/document in favor of angular $window.