JUnit tests for ResourceDao.findTopLevelResources()

There are 6 possible scenarios:

1) Discovered nodes only with storeByForeignSource enabled
2) Discovered nodes only with storeByForeignSource disabled
3) Requisitioned nodes only with storeByForeignSource enabled
4) Requisitioned nodes only with storeByForeignSource disabled
5) Hybird environment with storeByForeignSource enabled
6) Hybird environment with storeByForeignSource disabled

A hybrid environment means, an installation with discovered nodes (i.e.
not part of a requisition) and requisitioned nodes at the same time.

Note: a small enhancement has been added to NodeSourceResourceType to
drastically reduce the amount of calls using NodeDao.
Merge remote-tracking branch 'origin/1.12'

Conflicts:
	opennms-dao/src/main/java/org/opennms/netmgt/dao/support/NodeSourceResourceType.java