Added the Animal class.
Added the Dog class.
Merge branch 'feature/givens' into develop

Added the given two classes. I took the liberty of moving them into a package, as it doesn't seem that any of the requirements would suffer from it.
Making Animal's field immutable.

In order for the Dog class to become immutable, it's ancestor should be immutable as well. However, there is always the possibility that Animal will be modified as it cannot be made final since Dog needs to inherit from it.
Making the Dog class final.

This means private and final fields as well as a final class.
Merge branch 'feature/subtask-1' into develop

Made the Dog class immutable, i.e. final class with final fields. An immutable object could also have non-final fields, but ensure immutability by ensuring that the state of its field can not be alterd. For example, private fields combined along with no methods that can alter the state of those fields.
Implemented equals() and hashCode() for Animal.
Implemented equals() and hashCode() for Dog.
Merge branch 'feature/subtask-2' into develop

Using hash code caching since the classes are immutable. Also, equals() is consistent with hashCode().
Added tests or the animal class, specifically for equals() and hashCode().
Added tests for the dog class, specifically testing equal() and hashCode().
Added JUnit as a test dependency.
Merge branch 'feature/animal-and-dog-tests' into develop

Created tests to verify that hashCode() is consistent with equals() as well as ensure that equals() satisfies the symmetry, transitivity, reflexivity, consistency, as well as the null properties.
Implemented the comparator.

The comparator is consistent with equals when the arguments are Animals but now when the arguments are subclasses of animals.
Implemented the animal comparator test.
Added the second part of this task - crating and sorting an array of animals.
Merge branch 'feature/subtask-3' into develop

Created the animal comparator. The array of animals creation and sorting is in AnimalComparatorTest class.
Make the Dog class public so it can be accessed from the model package.
Add beans.xml for CDI injection.
Create the model.