Team 5 - Chloe and Matt - Prioritybot

Since each of our commands, of the form "N -> F L B R" in the external DSL or "N ->(F, L, B, R)" in our internal DSL, creates 4 rules, one for each direction picobot can head in, we end up with returning a List[Rule] for each of our rules, and we then can have multiple rules, so we have an extra layer of embedding. All the flattens come from this.