Flexible array sorter that sorts an array according to a "position" meta data.
The expected format for the subject is:
[
[
'key' => 'bar'
'position' => '<position-string>',
],
[
'key' => 'baz'
'position' => '<position-string>',
],
]
The supports one of the following syntax:
start (<weight>)
end (<weight>)
before <key> (<weight>)
after <key> (<weight>)
<numerical-order>
where "weight" is the priority that defines which of two conflicting positions overrules the other, "key" is a string that references another key in the subject and "numerical-order" is an integer that defines the order independently from the other keys.