Added support for `bundle[g] += 3` and similar

bundle[g] now returns a light-weight, inline proxy object
(BundleNegative::valueproxy) when called on a non-const Bundle, which
overloads assignment operators, remapping assignment into a call to
`set()` with the new value.  The proxy is otherwise usable as a const
double&, which maps to the bundle's quantity value.
Simplified BundleNegative::valueproxy

The _() method wasn't needed at all; it's easier to just implicitly
invoke `operator const double&` by just using `*this` as a double.