sha256_file: ensure the input file is always read completely

Nothing guarantees us that read() will always return BLOCKSIZE bytes, we can't
be sure we've reached EOF before it returns 0.
Add HMAC-SHA256 functions
ecdsasign: use HKDF-SHA256 to generate the value k

To avoid the need for good random during signature generation, use HKDF-SHA256
to generate the pseudorandom string k, using the secret key as the PRK value of
the expansion step and the message hash as info (the extraction step is skipped)

Instead of generating another random string by further iterating the HKDF
algorithm, we just cancel the signing operation when r or s is 0, as this
probably won't ever happen in this universe.
Add const modifier where appropriate
Add include guards to header files, add libuecc include to ecdsa.h to make it self-contained
keygen: output program version on -h
Provision of Lintian-error-free Debian package

For an upload to the distribution, the lintian warnings need
to disappear. Also, Matthias' elliptic curve packages as a
dependency needs to be in the distribution, first.
added newline to some strings
Merge pull request #4 from anotherwon/patch-1

added newline to some strings
ecdsaverify: if no file is given, check stdin