Add WeakMap fallback

Same as https://github.com/atom/property-accessors/pull/2 with a fix on https://github.com/Benvie/harmony-collections/pull/16