optimizing compileRoute()

faster implementation, supports nested optional parameters as GET /test[/:id[/:start]]