vigenere: New module for ciphering / deciphering

It just does plain (de)ciphering using filtered_string. Thus it keeps
case and spaces and every non-alpha character.

Signed-off-by: Celelibi <celelibi@gmail.com>
unvigenere: Just cipher / decipher

Cracking is not yet implemented, but still this program makes something
useful. :)

Signed-off-by: Celelibi <celelibi@gmail.com>
misc: Added custom_warn

This function print a message on stderr.

Signed-off-by: Celelibi <celelibi@gmail.com>
Makefile: Generate the .d when no goal is given

The special case when no target is given to make prevented the .d files
to be included. Thus some dependancies were missing sometimes.

Signed-off-by: Celelibi <celelibi@gmail.com>
.gitignore: Add .deps directory

Signed-off-by: Celelibi <celelibi@gmail.com>
vigenere: Corrected buffer overruns

We used to read more than the whole string by not checking the right
termination condition.

Signed-off-by: Celelibi <celelibi@gmail.com>
array: new module to handle basic arrays

It just have a few functions and macros to do what you would write by
hand.

Signed-off-by: Celelibi <celelibi@gmail.com>
vigenere: Use array module

Instead of doing array manipulations itself.

Signed-off-by: Celelibi <celelibi@gmail.com>
unvigenere: Use array module

This simplify the code quite a bit.

Signed-off-by: Celelibi <celelibi@gmail.com>