Added personIDtype to course_members schema.
Update course_members schema.

Added ecs_custom to personIDtype.
Reordered personIDtype.
Check for blank @render_cmd.

If the requested resource is unmodified then render "head :not_modified" and
don't eval (blank) @render_cmd.
Isolated authentication code (DRY).

Moved authentication code into functions.
WIP: subparticipants.
Check if json_data is a hash.
Check for authenticated participants first.
Check for authenticated subparticipants.
Check for valid communities.

When a participant wants to create a subparticipant and provides some
communities which this subparticipant should belong to, he is only allowed to
provide communities he joins on its own.
Merge branch 'subparticipants' into vip