Implement list-based taskgraph.

This taskgraph uses hypergraph ideas, but with list implementation.
This has the advantage of not having to perform additional allocation
and management of generation data structures.
Add support for calling constructor and destructor of data types when
constructing and destructing versions/payloads. This should allow
to use object_t<class X> besides object_t<int[128]>.
Bug fix in reduction test-case 2, where reference computation result was erroneous.
Bug fixes in implementation of reductions.

A bug was sighted when the scheduler built up a DAG with large lookahead,
spanning over multiple reduction regions. The state variable in the
reduction implementation did not get reset to an active state, meaning
that subsequent reduction actions (finalize/expand) were skipped.
Now added additional setting of flag in finalize_functor(), which
is run just before task launch.
Working version of embedded, commutative, hypergraph dependency tracking organized around a list.
Merge branch 'ecltg'
Created micro-benchmark with pipeline pattern
Bug fix in calculating average time/task.
Add variation of pipeline where there is only one instance of renaming
per iteration of the loop.
Bug fix in ini_ready condition.
Rename auto-generated config.h

There was a name clash between manually edited config.h and auto-
generated config.h. The latter is now renamed to auto_config.h
and is automatically included from config.h.
Makefile.flags.in is updated such that auto_config.h is found
in the search path.
Minor bug fixes

obj_payload aligned the payload incorrectly as it did not take into account
the size of the typeinfo field in the offset calculation.

Specialized typeinfo::construct template function to not call a constructor
when the template type is an array.
Make printing of compilation command subject to ECHO macro
Updates to configure script

Do not AC_SUBST HAVE_LIBHWLOC, instead use LIBS variable to pickup
-lhwloc in Makefile.

Updated to auto-generate auto_config.h

Updated check of hwloc library because of changes in hwloc API
Bug fix in setting CPU affinity

CPU affinity was set using sched_setaffinity (potentially via HWLOC
library), but these calls ignore a CPU set defined by the numactl
command line tool. Code is updated to take the initial CPU set
defined by numactl and bind threads to CPUs only in that set.
Updates to conform with cblas.h interface (const float * vs float *)