Add Community Widget base feature: "Add Widget"

Implement Widget entity and basic Widget management for communities. (in fact: Only "add widget").
In part, this code should be properly integrated into Community and CommunityService instead of standing apart.
Usually we require the the request initiatior to fix the issues found on the code review before it can be merged, but being a very minor thing I think for this time we can fix it.