Clarify API version, auth and password prompts

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Merge pull request #40 from stgraber/master

Clarify API version, auth and password prompts
Update the readme on building/running the app

Closes #41

Signed-off-by: Tycho Andersen <tycho.andersen@canonical.com>
fix typo

Signed-off-by: Shuai Zhang <zs.broccoli@gmail.com>
Merge pull request #42 from shuai-z/fix-typo

fix typo
Merge pull request #43 from tych0/readme-update

Update the readme on building/running the app
Drop the ping command

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Fix a whitespace issue

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Merge pull request #44 from stgraber/master

Some fixes for the command line spec
Remove the last vestige of --stateful from `lxc move`

Signed-off-by: Tycho Andersen <tycho.andersen@canonical.com>
Merge pull request #45 from tych0/really-remove-stateful-move

Remove the last vestige of --stateful from `lxc move`
check that commits are Signed-off-by in traivs

Signed-off-by: Tycho Andersen <tycho.andersen@canonical.com>
Merge pull request #47 from tych0/check-signoff

check that commits are Signed-off-by in traivs
Add the create API
Merge pull request #46 from stgraber/master

Add the create API
rest-spec: Add start, stop, restart and rename

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Merge pull request #48 from stgraber/master

rest-spec: Add start, stop, restart and rename
Add a note about creating sub{u,g}ids in README.md

Signed-off-by: Tycho Andersen <tycho.andersen@canonical.com>
Merge pull request #49 from tych0/readme-subuids

Add a note about creating sub{u,g}ids in README.md
Introduce the bulk of certification code

This partially (largely) addresses https://github.com/lxc/lxd/issues/4

Client and server talk over tlsv1.2

Client and server each create a x509 certificate on first startup.

Server has a 'admin password' which can be set over the local unix
socket, or by a trusted remote lxc using 'lxc config set remote password xxx'

When a client does 'lxc remote add r1 127.0.0.1:5555', it will check
127.0.0.1:5555/ping to check whether it is already trusted (meaning
its certificate is already on the server's list of trusted certs).  If not,
then it will query the user for the server's admin password, and pass that
along over 127.0.0.1:5555/trust/add to request adding the client's cert
to the server's list of trusted certs.

All (non-unix-socket) requests except for /trust/add are rejected by
the server unless the client's certificate is trusted.

To have a client present the server certificate fingerprint to the user
will require golang 1.3.  So that will come soon.

The result at the moment is fully usable and an improvement over the
master branch.

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>