close #2757, refs #5286 - moves error formatting from api/index into errors lib - moves error handling from api/index into its own middleware - adds extra middleware for method not allowed which captures all unsupported routes
closes #2757 - New error MethodNotAllowed - Throw 405 if valid path but invalid method is used is apiRouter - Adds api base tests