updated doc blocks
updated exception message
assign default values to "$compiledRoutes"
updated doc blocks
refactor

this commit will freeze these APIs:
- Router::add($pattern, array $params = array())
- Router::match($pathInfo)
- Router::generate($routeId, array $params = array())
- Router::getRoute($routeId)
- Router::setCompiledRoutes(array $compiledRoutes)
- Router::getCompiledRoutes()
- RouteCompiler::compile(array $route, array &$output)