Add initial support for basic searching of users.

This includes searches by first or last name, or by email address.

Change-Id: I6081dec63fe54b4341954b50afd23b69866651d4
getteamsdata: Ignore "'''Assigned Team IDs''','''School'''" line in teams data
Fix #2050: Script to make & email teacher accounts.

This uses the information from priv/teams.git to create user accounts
for teachers. They are then added to their team, college groups plus
the 'teachers' group.

Change-Id: Ie57c71d5436824a2a7e0ea381e6272ab75ad3880
Merge "Fix #2050: Script to make & email teacher accounts."
Allow contact-data dir to be given on cmdline
Add a README with basic setup and usage info.

2013-12-14 Patch set 2: Move configuration details to a separate
           section, as the defaults are likely to work for most users.

Change-Id: I78d0a51401f0e337c892c5fae0505d06f688dfb5
Merge "Add initial support for basic searching of users."
Remove the actual user being deleted from its groups.

Rather than the name that the user typed. We can't trust that the
user got the casing right (or any other co-ercions that usernames
may undergo), and should ensure we remove the canonical name from
the database.

Change-Id: Ibc8b6a5892d70939aabfda417f9740194f10950c
Add a helper which loads the user object.

This will make tweaking this behaviour easier.

Change-Id: I166d5d0f3ed834293f8573162a7a0d0ab2e107e0
Merge "Remove the actual user being deleted from its groups."
Merge "Add a helper which loads the user object."
Make user modifications case-sensitive.

This is to avoid issues around creating a user with one cased name
and then removing it with a different name (which previously didn't
remove its group memberships).

This deliberately leaves user-additions case-insensitive to avoid
creating user with names that only differ by case.

Change-Id: I85ae1c49504952d7e6b5c1a16ee949fcb9126196
Whitespace.

Change-Id: I3ccdfbe56716b7adb02deb8e318a700c326f6bbc
Warn the user about failures to remove users from a group.

Bump the srusers module to pick up a change which now returns the
list of non-members asked to be removed from a group. Use this list
to print a warning for each non-member.

Change-Id: I13b703c7195f19e1cfec556ec36923309be617ee