Fix logfile destination for split compile/link
Report original error message in CompilationError
Add option to run compiler using os.system

On some systems (notably HPC machines) subprocess.check_call can result
in segfaults.  A somewhat safer option is to use os.system instead.  Set
the configuration option "no_fork_available" to True, or the environment
variable PYOP2_NO_FORK_AVAILABLE to 1 to enable this approach when
compiling code at runtime.
Merge pull request #409 from OP2/no-subprocess-call

* no-subprocess-call:
  Add option to run compiler using os.system
  Report original error message in CompilationError
  Fix logfile destination for split compile/link
Add interface to likwid marker functionality

Allows us to initialise and finalise marker recording from
python (necessary to avoid overhead in kernels).
Add likwid configuration variable

If init is called with likwid=True, the marker initialisation code will
be called (also if PYOP2_LIKWID_PROFILING is set).
Add likwid configuration variable

If init is called with likwid=True, the marker initialisation code will
be called (also if PYOP2_LIKWID_PROFILING is set).
Include likwid.h and link against liblikwid

Markers are only enabled if likwid profiling is switched on in the pyop2
configuration.
Add profiling context manager

Use: with profiling(basename, name)
Add ability to add data volume to profiling information
Compute par_loop data volume
Wrap profiling calls around par_loop and solve
Add likwid marker start/stop in sequential par_loop call
Add POSIX timing to generated host code
Use a more accurate timer
Add C timings to profiling stats
Add VBW computation based on C timings
Add C time return for openmp backend.
Add _md5 property to kernel.
Use likwid header/library only if likwid profiling enabled