use IdOrNamespace object to store values.
merge is wiser; check if scope/namespace/etc. are set to overwrite.

do not overwrite if the value is null (i.e. not set).
getValue to return pre-set value, or an option object if class name is given.
implement new way of doing the singleton.

there were too many ways to specify singleton before. now only one way, therefore, some tests were removed.
test IdOrNamespace class, removed test for Values class.
test Storage/IdOnly object.
fixed $values class. removed setOption no longer used.
test IdWithNamespace.
fetch should return null if not found.
add exists method to all Storage classes.
store null to container.

overwrite class/object with null.