work_queue: initialize members, catch exceptions in init

Ensure that member fields are initialized first.  Wrap work_queue_* in
try/excep blocks to capture any exceptions that may occur in init.

Conflicts:
	work_queue/src/python/work_queue.binding.py
Edits to make user manual consistent with README in AWE repository.
Scaffolding to create and manipulate graphs
test driver for graph data structure
ignore executables in data-structures
structs for representing vertices and graphs
first stab at graph interface
test runner for graph data structure
test graph_create
implement vertex counting

Necessary for testing since the graph struct is private.
implement graph_create
clear all vertices from graph
implement graph_delete
add setup and teardown methods to reduce redundancy
test graph_add_vertex
clean up compiler warnings
Switch from set to list.

I want to compare vertices by their content not their memory address. Currently, the set data structure does not support this feature.
store a const value in each vertex
add a comparison function pointer to the graph data structure

This function is necessary because the value of a vertex can be any data structure. Thus arbitrary comparisons must be supported to prevent duplicate vertices from appearing in the graph.

The default function is string_equal. Strings were chosen as the default to serve as user supplied labels instead of assigning arbitrary integers. In the future it may be useful to provide helper functions for supporting integer labeling (this is already possible, but requires specifying comparison function and supplying the correct labels).
Implement graph_find_vertex

Changed the return value to success or failure. Returning the contents is unnecessary since they were already passed as the parameter for finding the vertex.