Add a hasPublicProperty() public method.

This is useful for when you just want to lookup a property on a class you don't know everything about, instead of throwing an exception when trying to access it.
add forceFlushCache()

This ignores any logic added to flush the cache intelligently and instead just flushes all available namespaces. This makes code simpler when we know we want to flush everything at the cost of having to make getCacheNsArray() respect a new $ignore_checks flag in each dataobject.
Cleanup of namespace caching.

Thanks to @gauthierm, this is at least 1% better.

Rename methods:
 * getCacheNsArray() to getCacheNamespaces()
 * getFullCacheNsArray() to getAvailableCacheNamespaces()
 * flushCache() to flushCacheNamespac()
 * forceFlushCache() to flushAvailableCacheNamespaces()

As well update behaviour of getAvailableCacheNamespac() to return a flat array of namespaces to flush, instead of trying to build that logic into getCacheNamespaces().
line-length
add hasDateProperty() to check for registered date properties on the object.
Add documentation.
Merge pull request #19 from isaacgrant/has-public-property

Add methods to check public and date properties.
Documentation cleanup.
Merge pull request #20 from isaacgrant/better-force-flushing

More robust cache flushing methods.