Initial working spike of named routes

Tests need adding and fixing, but core changes work (I think :P)

:warning: :warning: :warning: :warning: :warning: :warning:  @TheCodeJunkie :warning: :warning: :warning: :warning: :warning: :warning: 

Don't pull this in yet :wink: