Added .gitignore (at least for the Linux side of the source tree)
build: convert to autotools

Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>
Added explicit_bzero() as safe memset()

Calls to memset could be optimized away when they are at the end of the
variable lifetime, because the compiler knows that memset only modifies a
value of a variable and has no side-effects. So, if the variable is not
used anymore, the compiler might get rid of the "useless" memset.

Unfortunately, we really want this piece of memory zeroed out, because
otherwise it would stay in physical RAM. This is not part of the C
standard, so the compiler does not know that. So we have to convince the
compiler that optimizing these calls is a really bad idea which we
achieve with the volatile function pointer.

This commit introduced explicit_bzero() and replaces all calls to
memset() with the purpose of cleaning memory with this function. As a
defensive programming measure, I did this regardless whether the call
would have been optimized away or not.
build: support disable iconv for static build

Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>
packaging: add spec file

Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>
build: remove C++ comments

Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>
cleanup: cleanup trivial pedantic warnings

Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>
Corrected scoping issues

* Made sure that the function pointer to memset() may only be used from
  within explicit_bzero().
Changed explicit_bzero() to memset_secure()

While I don't think that a non-optimizable memset() has other useful
applications rather than scrubbing memory, I added them by suggestion
of Paul.

I replaced all calls to explicit_bzero() but kept all other non-critical
calls to memset().
Added copyright header to util.c
Merge branch 'alonbl-build'
For the Linux code, added an additional README-FIRST file to explain the
use of autotools, modified the existing README file, removed the now unused
"version.h" file.
Merge branch 'master' of https://github.com/pigsflew/AESCrypt into pigsflew-master.  This updated the Linux Perl script that is invoked from the GUI.
Merge branch 'pigsflew-master'.  This updated the Linux Perl script that is
invoked from the GUI.
Merge branch 'master' of https://github.com/yayachiken/AESCrypt into yayachiken-master

Conflicts:
	Linux/src/Makefile
	Linux/src/aescrypt.c
	Linux/src/aescrypt_keygen.c
	Linux/src/password.c
Cleanup after merging latest pull request
Updated the various README files
Renamed the README-FIRST.md file to README.md
Delete README-FIRST.md
Corrected typos in comments