Moved AbstractEffect.Type to Effect.TitleType.

Removed Effect.getType() since it was only ever the string value that was needed.

Added javadoc comments to Effect and AbstractEffect
Added or tweaked java doc comments
Added a method to get the UniqueChildEffect object
Added unit test for AbstractEffectContainer

Removed unused setup method from AbstractBaseObjectTest
Removed the Effect parameter from Cooldown, Cast, Timer and Buff since it was never being used!
UniqueEffectParent now extends AbstractEffectContainer because it did not require the minor functionality of the Effect interface. It did not need Effect as a marker Interface either.