Cleanup invalidation annotation

To prepare for #117 i wrote some more functional tests. One big wtf though.

Also split the tag specific controller into a separate controller for better readability.

And make InvalidateRoute explicit about expression.
renamed all examples to use /articles rather than /posts to avoid any confusion with the http POST method (i was confused while jumping around in the doc for a sec, so thought for somebody new to all this, its better to use this name)