authorization using cancancan

We will stick to cancancan right ? 

1. provide a current_ability required by cancancan
2. an ability class, now only handles the permission of administrator
also, it's not in `ClassMethods`. It's outside the module, if we decide we want to keep this.