Structures

In this pull request, basic structures are identified using the getSupporters method, but there still remains some issues.

getDistinctStructures will follow the trails of getSupporters to construct the strucutres from the highest point. Thus a strcuture inside another structure is going to be considered as 2 strcuture.

combineInnerStructure is going to compare the strcutures and check if one completely lies inside the other, if it does both are merged together to form a single strcuture

There is also a change down in the isSupporter function of the ABUtils, that class is really needs to be modified to identify the supporters more accurately and correctly, right now it has many bugs I guess.
It can not correctly detect the supporters that are at an angle.