Feature introduce policies

Splits ScatterAlloc into 5 Policies

 - These can be configured using structs as template arguments, since it was more flexible than my previous approach
 - Additionally, individual configuration options can be set using -D during the compilation (fullfills the request in #17.3)
 - in-depth code of ScatterAlloc remains basically untouched:
  - DistributionPolicies::XMallocSIMD splits the old alloc_internal_coalesced into 2 functions, but the algorithm stays the same
  - CreationPolicies::Scatter uses identical code for allocation/deallocation and finding of spots
  - AlignmentPolicies::Shrink uses mostly the same bitmasking operations