Add 'list' command, introduce global/user projects.

There are now two types of projects:
 - User projects are specific to a user. Shared destinationProviders
   may choose how to fence off these to a specific user.
 - Global projects are shared between multiple users.

 These concepts are identical for the file-based provider, since it
 depends entirely on how readable the file is. The redis provider
 implements separate namespaces for user-specific and global sessions.

 Also implemented a 'list' command which shows all projects available
 at a given destination.