Topological order

The idea is to sort addins in a topological order. Each addin can define one of five things for _order_:
* `>X` - I must be immediately after the addin with id X

* `>>X` - I must be somewhere after the addin with id X (but not necessarily immediately) 

* `<X`- I must be immediately before the addin with id X

* `<<X` - I must be somewhere before the addin with id X (but not necessarily immediately) 

* `Number` - A numerical order which is used if none of the above is applicable


here should be some kind of
var tokens = tokenize(addins.order)
_.each(tokens, function (token) {
 if (token == "<<") ...
else if token (== "<") ...
}
if you want to make it even nicer you can have a token visitor:
tokenVisitor = {
"<" : function handleDirectLargerThan(id) {...},
"<<": function handleTransitiveLargerThan(id) {...},
">>": ...
}
and just invoke the tokenVisitor[token](id)