Unique Thread ID

Some work on creating unique thread IDs.

Also set up the framework for the test class to test if working.
Simplified UserModel and Added Hash Function
Unit Testing for ThreadModel and Bug Squashing

Fixed some null pointer exceptions in TopicModel, ThreadModel and
UserModel from not initializing lists in the constructor.