A revision to the list update, which allows URI subjects and deals more sanely with initializers.

If a `values` initializer is set with an empty list, `subject` will be used as the first element in the list. Otherwise, if the list is not empty, `subject` identifies the first element of the list to which `values` are prepended yielding a new `subject`. Otherwise, if there are no initial `values`, and `subject` does not identify an existing list in `graph`, `subject` is set to {RDF::NIL}.

This addresses #147.