Adding support for listing a user keys
Adding more tests and registering the ListKeys handler
Merge pull request #78 from rochacon/list-keys

List user's keys
user: ignore failures on TearDownTest
user: delete authorized_keys file on TearDownTest
user: create authorized_keys on addKey

Closes #80.
db: added "key" collection

This collection will store public keys from user. Each key will have a
name, a content, a comment and the email of the user that owns it.
user: minor change to addKey function

That is the only minor change. I will not try to change everything
smoothly.
db: make body unique on keys
user: reimplement key manipulation

Now the key is an struct, and it's stored in a collection in MongoDB.
api package is still broken.

Here is what this huge change fixes:

	- remove keys by comparing line by line in the authorized_keys
	  file (#79)
	- make key body unique (#76)
	- validate keys. We accept rsa, dsa and ecdsa (#77)

I will close those issues after api package is ok. We will need also a
migration script.
user: return ErrUserNotFound when user does not exist in AddKey
user: readd ListKeys implementation

Sorry about that x)
user: use KeyList type in ListKeys function

This type encapsulates the json marshalling proccess.
user: avoid trailing spaces in Key.String() when the key has no comments
api: fix code to deal with new user package and the new key structure

Fixes #76.
Closes #77.
Closes #79.
db: drop database on teardown
api: don't use unqualified imports for gocheck
bin: don't use unqualified imports for gocheck
db: don't use unqualified imports for gocheck
fs: don't use unqualified imports for gocheck