core: extract current implementation to strategy.

Because we need to find out better solution than current, we need to
have multiple of them coexisting to compare them. Implementation of
static methods of MacPoolManager.java is thus extracted out, to
implementation of interface MacPoolManagerStrategy.java. All static
methods of MacPoolManager.java remain where they were, but for the
actual work they delegate to MacPoolManagerOriginal.java

Change-Id: I75498bb68ec6dbe28650027116bf44a0797faf93
Bug-Url: https://bugzilla.redhat.com/1063064
Signed-off-by: Martin Mucha <mmucha@redhat.com>
core: added constructor and toString() to Pair.java

Change-Id: I620fd2712784ecdbd92eb8332c1dff2a38a9dba6
Bug-Url: https://bugzilla.redhat.com/1063064
Signed-off-by: Martin Mucha <mmucha@redhat.com>
core: wrapper of HashMap for counting number of objects

simple class not to have to deal with HashMap when intention can be
expressed in more readable way.

Change-Id: I38b9ead37a8ebfc56103b87c65ba582a84f4dda6
Bug-Url: https://bugzilla.redhat.com/1063064
Signed-off-by: Martin Mucha <mmucha@redhat.com>