3.0 routing errors

Add and improve routing errors. This change adds a new framework error for when routes cannot be parsed, or when reverse routing fails. The error template prints out all the connected routes and currently looks like:

![screen shot 2014-07-01 at 10 08 07 am](https://cloud.githubusercontent.com/assets/24086/3443993/80c28b80-0129-11e4-86b4-254dca66bc12.png)

Part of #3693