Added some new functionality to OpenNurbs and RhinoCommon

Two things I added:

1. comparison of geometry value types with tolerance (IEpsilonComparable interface)

2. support for using enums in GetBaseClass, ArchivableDictionary and PersistentSettings

I hope you find it useful and that it can find a place in RhinoCommon.