sml: implement extractor in terms of the new sml relationships

- split associative containers into hash and ordered containers
- add hash container keys relationships to fulfil C++ model's
  requirements
- extend mock factory to take into account association indexing