With the inclusion of 2.0 support, we need a generic geometry thatdescribes the OCSSD independently of the specification that itimplements. Otherwise, geometry specific code is required, whichcomplicates targets and makes maintenance much more difficult.

This patch refactors the identify path and populates a generic geometrythat is then given to the targets on creation. Since the 2.0 geometry ismuch more abstract that 1.2, the generic geometry resembles 2.0, but itis not identical, as it needs to understand 1.2 abstractions too.