Shared memory library:

1. First commit of the shepherd process, which is used for initial shared-memory setup & final teardown (including unlinking after all processes have finished)
2. Added a simple test for writing to/from a shared-memory region (still needs a multi-threaded test)
3. Bug fix - only shepherd process unlinks, as unlinking removes the shared-memory file and prevents further shm_open calls from opening that region
4. Added an API to get overall task assignment
Shared memory sanity test:

Fixed bug in shmem-test, where cleanup was happening while data was being
read, causing assertions to fail.

Made paths absolute in makefile (relevant for rpath, so that shmem-shepherd can
run from anywhere).

Made some minor adjustments to sched_comm, so that rather than detecting at
runtime, if omp_numa_initialize is invoked with the SHEPHERD flag then a process
initializes the shared memory region.