Fix bug of calling show() if url has edit or delete.

We should place the more specific rules at the top, and the more
generic ones at the bottom, and break the loop that looks for
matches as soon as a match is found.
Rename Router::add() to Router::map().
Basic routing system working.