Extend the @loadmodel to support its usage for plugins

Basic usage of the @loadmodel is to convert an ID to an actual
model object, but was only allowed on the core model objects.
This patch allow its usage in plugin as well.

Usage example:
 @loadmodel(map={'id': 'item'}, model='item', level=AccessType.READ
 @loadmodel(map={'id': 'task'}, model='task', plugin='ec2_cloud', level=AccessType.ADMIN)