Did some documenting and major refactoring

- Main.java
  - Removed unused private main method
  - Removed Knight class from Main into its separate class file
  - Removed Codalot class from Main into its separate class file
  - Added javadocs and comments

- Codalot.java
  - Added file, pulled the class out of Main.java into its own class file
  - Added javadocs and comments
  - In method process, calling the knights isInTavern method instead of the variable directly
  - In method grantBonusXp, changed if statements to if/else if, so that every condition is not checked when the first statement met
  - in method addKnightToTrainingYard, removed unneeded call of setting the knight is not in the tavern
  - in method addKnightToTavern, removed unneeded call of setting the knight is not in the training yard
  - Added method getKnights

- Knight.java
  - Added file, pulled the class out of Main.java into its own class file
  - Added javadocs and comments
  - In the constructor, explicitly set that the knight is not in the tavern or the training yard

- pom.xml
  - Added junit maven dependency for the unit tests

Rebuild the unit tests using Junit, less abstraction and easier to add more coverage for the future.

The following files was added:

- KnightTest.java
  - Unit test covers all methods of the Knights class

The Following test was modified:
 - CodalotTest.java
   - Now using junit to cover all methods of the codalot class

The following file were removed:
 - BasicCodalot.java
 - Codalot.java
 - KnightPosition.java