Adding unit tests for automatic unregistration of extension dependencies
Bug fix: was not properly unregistering extension dependencies beyond 1 level deep.
Updating podspec. Min deployment target is iOS 6.0. Fixes issue #38
Changing YapDatabaseView from using an "int version" to a "NSString *versionTag". This allows for increased flexibility, and makes it easier to include information such as the current localization or configuration info.

Also converting YapDatabaseFilteredView to use the same terminology.
Bug fixes: Unregistering an extension was not removing it from extensionsOrder array. Automatic unregistration of dependent extensions was using multiple transactions.
adding initWithFilter:sort:view initializer for dynamic groups
refactoring to smaller methods, conditionally updating groups only if needed. started renaming/reorganizing tests to make their intent more clear.
reorganizing tests for view mappings.
renaming more tests to describe test
updating tests for dynamic group addition to mapping for happiest path... pending tests for making sure ranges, reverse, dependencies, and consolidations remain intact.
Moving block type definitions to their own header file.
Bug fix: Updating the filterBlock post-init didn't persist the new versionTag.
Adding some missing trace log statements.
Minor performance improvement for YapDatabaseView populate method.
Moving block type definitions to their own header file.
writing unit tests, handling dependencies, isReversed and rangeOptions differently.
fixing autoconsolidation issues, updating groupname validation for modifiers
fixing deleting rows check, to make sure we are getting rows that may have been moved.
Merge branch into 2.4

Resolved Conflicts:
	Testing/UnitTesting/TestYapDatabaseFilteredView.m
	YapDatabase/YapDatabase.m
Adding enumerateKeysAndObjects method to YapCache