fixed bug where removing contact may crash program

Ignore-this: 3a9381936c6c3cf0e4406e73a65809ee

darcs-hash:20140105170548-c21fe-210ad56f08c80e78484026d3b7c9849733c83966
changed assert to exception

Ignore-this: 24e27a47ded6f7c60452ea89821ac710

A malformed message could crash the program. better just ignore and throw.

darcs-hash:20140108135449-c21fe-4ee229ae7c128aa65212c7bd51b191fd0eb9c1cf
added new concept of introductions

Ignore-this: cb218e9fd71593c9ed9ec848a269aa10

The idea is that a contact can introduce you to another. This is another way for two
users to connect to each other instead of using contact files. The idea is that
you get a list of introductions from other people you can accept.

For this to work, i will have to implement message signing so that you can trust
that the introduction came from someone you already trust.

darcs-hash:20140109000002-c21fe-3cc96bf09fccec38c30db3477b622499da15135e
started to add GUI to show introductions

Ignore-this: 158ffe250baa1cf9816483783b3f4f9a

There is now a new introductions tab. You can see all introductions, remove them or
accept them.

You can also introduce a user to another. The introduce functionality isn't implemented
yet.

darcs-hash:20140109000313-c21fe-0a96e52971742fb8e5e7c91623747b8bae73878f
added widget for introduction message

Ignore-this: 122a7f05c84d02cadd3db16bfd52ec6b

darcs-hash:20140109000716-c21fe-bc1ee65c8976b84720c033e54c18d024617e478f
update message metadata to include security used for the message

Ignore-this: d11120ed5ba99d141a6fe67fd8114d46

You can now set encryption to be forced to a specific type. Also the encruption method is filled in when decrypting the message from the queue. This will make it easier to improve the security by allowing
a subsystem reject messages that are not of the correct security level.

Also fixed some silly mispelz

darcs-hash:20140109063102-c21fe-42b26cdc691b2e47bd8e1c7741e9fcfbd06b195b
shouldn't be an assert here

Ignore-this: 46d0680313b6cf7cc2849dcce35086eb

darcs-hash:20140109070639-c21fe-943417543dd65bb2a29da266658debe56c40de19
added utility functions that throw if message with unexpected encryption arrives

Ignore-this: f9845be45a82aaff0a87de8039242685

This allows for services to easily make sure messages recieved were encrypted as expected.
This should prevent some DOS type attacks.

darcs-hash:20140109073351-c21fe-33112528a7ba9db3a7d40067f14edd8398aafe55
added new widget that allows you to select available contacts

Ignore-this: 2eac74918f6b3bb51902c447fc0bfd18

pulled this out of the session widget. I'll need this for the introductions ui.

darcs-hash:20140109143952-c21fe-0326243efb263a6580e0b44d25b28cc44d39c619
changed all copyright notices to 2014

Ignore-this: 8746252326facf88c1ce40f25d0abbc6

darcs-hash:20140109144627-c21fe-f45f7a42ddd77aa65794013dda361577830b828c
added support for sending introductions

Ignore-this: 6a3b566ae08f1cd772631f096a4e31a5

You can now introduce someone to another. The idea is that people in your contacts can
introduce you to others. This is another way to add a contact besides a contact file and
should help making it easier to add people to your contact list.

This commit has ui updates and backend to manage introductions.

What is missing is ability to select a greeter service to send along with the introduction.

darcs-hash:20140110165553-c21fe-b4d0cd96bcc57e04b149dff809685f55d32e9a8d
udpated README to describe contactselect

Ignore-this: 666bb73a960eccc736d6a7027ad5275c

darcs-hash:20140110170059-c21fe-9e17302fcd10db23a5247f228ff6915f0c62bcbd
updated update time in the contact list to be longer

Ignore-this: a3d2a2c5ad6468f5ec9ea6048b014184

the update was uselessly too much.

darcs-hash:20140110170125-c21fe-1b4698afefb49c20b66e4ee590cf8838738013b2
Merge branch 'master' into moc_parse
fixed moc_parse build