Automatically generate GPG key

IRCrypt tries to automatically initialize a separate GPG folder and
create an RSA key.

Signed-off-by: Lars Kiesow <lkiesow@uos.de>
Try to enable asymetric encryption

Signed-off-by: Sven Haardiek <Sven@Haardiek.de>
Add sign option to asymmetric encryption and fix a minor bug

Signed-off-by: Sven Haardiek <Sven@Haardiek.de>
Worked on issue #45

- Now IRCrypt checked if an secret key exists by looking at the list of
  secret keys
- The first secret key found at the beginning is used for asymmetric
  encryption
- Now you can ask other users for their public key with the command
  "/ircrypt request-key [-server server] nick" (Send a notice with
  >KCRY-REQUEST to the user)
- IRCrypt user answer automatically with their public keys if they get a
  request-key notice (if there is no secret key set for the user the
  notice is ignored)
- The public keys send back are not handled yet
- Reloading the config, reloads the private key

Signed-off-by: Sven Haardiek <Sven@Haardiek.de>
Worked on issue #45

- Prefix changed to >KEY-REQUEST
- Although this is very rudimentary ircrypt importet receiving gpg key
  automatically (I think there are improvements and some issues) and
  assign them to the sending user

Signed-off-by: Sven Haardiek <Sven@Haardiek.de>
Multiple things (read description below)

- Fix minor issue with the relation of public keys
- Delete the commands set-gpg-id and remove-gpg-id
- Add command remove-public-key (issue #50)
- Update autocompletion
- change some names especially request-key in request-public-key

Signed-off-by: Sven Haardiek <Sven@Haardiek.de>
Remove the option binary_asym (issue #47)

Signed-off-by: Sven Haardiek <Sven@Haardiek.de>
Detailed Notification about Assymetric Key Generation

Signed-off-by: Lars Kiesow <lkiesow@uos.de>
Deleted old key exchange

Signed-off-by: Sven Haardiek <Sven@Haardiek.de>
Implement Key-Exchange Ping Pong

Signed-off-by: Sven Haardiek <Sven@Haardiek.de>
Fixed query pong handler

Signed-off-by: Lars Kiesow <lkiesow@uos.de>
Halt on invalid fingerprint

Signed-off-by: Lars Kiesow <lkiesow@uos.de>
Store GPG fingerprint after keyexchange

Signed-off-by: Lars Kiesow <lkiesow@uos.de>
Fixed pong with fingerprint

Signed-off-by: Lars Kiesow <lkiesow@uos.de>
Worked on key exchange

-Add the function ircrypt_sym_ex
-Answer in ircrypt_pong_pong

Signed-off-by: Sven Haardiek <Sven@Haardiek.de>
server ist now the unique server variable

Signed-off-by: Sven Haardiek <Sven@Haardiek.de>
Own part of symmetric key is sent now

Signed-off-by: Sven Haardiek <Sven@Haardiek.de>
Deleted asymmetric encryption and decryption

Signed-off-by: Sven Haardiek <Sven@Haardiek.de>
Deleted Options

-asym_enabled (related to the old asymmetric encryption)
-exchange_enabled (related to the old key exchange)

Signed-off-by: Sven Haardiek <Sven@Haardiek.de>
Deleted some global vars and changed buffer to memory, #53

Signed-off-by: Sven Haardiek <Sven@Haardiek.de>