fixed small issue in _prepare
removing field_names from tests
re-adding cache in get_fields(), sorting out cache invalidation issue
making flags cached properties
refactored use of internal functions in get_fields()
removed unused flags
fixed a few naming issues
testing benchmarks
removing tree expire
avoid removing properties that do not expire