updated README
simplified syntax

comma delimiters are optional in maps
added graph store to encapsulate node/edge management

the main purpose here is to replace edges' node IDs with object
references

unfortunately, this was not developed test-driven, so might not be
optimal - we'll have to revisit this (and add tests) later
integrated dynamic graph extension

the triples-to-graph conversion needs to happen not only at
initialization, but whenever fetchers are invoked interactively
combined fetcher and converter into provider

where fetcher previously was expected to return triples, provider is now
expected to return graph data

this improves encapsulation by reducing the surface area while demanding
only slightly more from the function being passed in