Improve test coverage

Currently the test-coverage is around a number of core-classes. I help improve the coverage from under 50% to a higher percentage the below class among the other classes have been chosen.

* Tag
* TagProcesserTest 

```equals()``` and ```hashCode()``` methods added to ```Tag``` in order to compare objects. 

They also have very high coverage but some small gaps (missing line and branch coverage). More tests to follow to achieve full coverage on such classes.