Add Keyword API

Due Waterline problems when querying array attributes, the keywords
array on the Plugin model is replaced by a Keyword collection. This way
we can now write more complex queries.
Refactor controllers

Moved `requires` on top of the controller modules.