Added basic HTTP method matching

Makes it so that app.post() / app.get() / ... will only accept requests using that method. The special app.all() route will accept any http method, which is how all routes behave currently.