Now the file is structured in the same way as the other files.
Groups now create a matching Sympa list on first save.
On subsequent saves, only the group info changes are saved - the list remains untouched.
Merge remote-tracking branch 'upstream/master'

Conflicts:
	lib/groups/sympa.js
Renamed variable and adapted initial value to reflect actual datatype.
Extracted array transformation into a single method and added tests for it.
Added tests for the SympaStub. Slightly refactored the stub and added the new method createList().
Reshaped the sympaStub so that it now follows the same pattern as the other modules.
Now the groupstore transforms the fetched objects into the proper types.
Extended the definition of Group.isValid().
Now, /groups/new is used to create a new group. Afterwards, the browser is redirected to the group page.
Moved the creation of a Group from a response body into the groupsAPI.
Now the names of the list members are shown.
Now some texts change depending on whether it is "new" or "edit"
Inlined two callbacks to get a consistent code structure.
Now the group test uses stubs for the required APIs. Added tests for all /groups/... URLs.
If a group should be saved but the resulting group object is invalid, the app redirects to the groups overview page.
On editing an existing group, the ID needs to be tunneled through to the response body as well.
Added tests for the groupsAPI.groupFromObject() function.
Function that finds out whether a user (given by his name) is contained in a list of members.
If a user is logged in, the groups pages get buttons where the user can register or unregister. Buttons are not functional yet...