Release the runtime lock

Change file functions so it can release the runtime system while
calculating checksum of a file.

Also add O_CLOEXEC to prevent filedescriptors leaking when another
thread calls exec.

Author: Goswin von Brederlow <goswin-v-b@web.de>
Incremental checksumming

This patch exposes the context and provides incremental update
functions for strings.

Author: Goswin von Brederlow <goswin-v-b@web.de>

Missing bindings for 'zero: t' guesstimated by:
David Scott <dave.scott@eu.citrix.com>
add copy function

This patch adds a function to copy a context.

Author: Goswin von Brederlow <goswin-v-b@web.de>
safe string updates

This patch renames the update function to unsafe_update_substring and
introduces new functions update_string and update_substring that
include range checks.

Author: Goswin von Brederlow <goswin-v-b@web.de>
Add missing bigarray functions

These were originally in 0006-update-and-bigarray-support.patch but
went missing in the split patchset.

Original description:

Support for update and bigarray
 This patch exposes the context and provides incremental update
 functions for strings and bigarrays. The bigarray functions run
 without holding the global lock and the file function is also changed
 to run without the global lock. This enables other threads to run
 concurrently while the sha checksum is being computed.

Author: Goswin von Brederlow <goswin-v-b@web.de>

Signed-off-by: David Scott <dave.scott@eu.citrix.com>
Merge pull request #6 from djs55/from-debian

Goswin's patches from Debian