make weakrefs optional

to address issue #251, the change introduced by issue #218 that made Variable and Dimension instances carry weakrefs to the parent Dataset by default is reverted.  Now Variable and Dimension instances carry strong references by default, but weakrefs can be enabled by passing keepweakerf=True to Dataset.__init__.