Fixed potential DbReaderException

- Use Fetch<T> instead of Query<T> because we create another DbReader inside the loop with DoesMacroHaveParameters().
Merge pull request #234 from saciervo/fix/petapoco-fetch

SqlHelper Refactoring
Adds a new filter arg to remove tree cache - we will use this in order to clear specific items from tree cache (like when we are creating folders for media in the media picker)
Adds another childrenOf option to clearing tree cache to clear a cached branch, this is used to fix U4-3465 Media tree not updating when creating folders and can be used elsewhere where modifying trees outside of it's context.
Refactoring TreeNode to inherit from EntityBasic = makes much more sense and makes our models more consistent.
Changes the CreateTreeNode to ensure that a parentId is always passed in - now all tree node models have a parentId property based on the server side data. Changes the JS tree node model to not have a 'parent' property and instead changes this to a parent() method - this allows us to serialize the tree model because otherwise it has cyclical references.
Fixes an issue if the upgrade check server is not responding.
This is an attempt to put the tree cache into sessionStorage - I'm creating this revision in case we want to re-visit this but unfortunately it is much more difficult because the cache is serialized/deserialized which means only the first level will be cached automatically since the loadNodeChildren would have to update the cache too but it doesn't know what a cache key is.

I've then done it the other way which is that we cache the tree sections when changing sections, this works great but poses other issues due to the serialized nature of the tree nodes. Spending too much time here, will revisit some other day. will revert after this is committed.
his reverts commit c2fca795e66e548d6c3c79ebf1bbd5c6f78c6d30 to use the normal tree cache
Fixes: U4-3489 Member tree items should not have refresh node as an action
Fixes: U4-3485 Can't use membership provider functions with a membertype that contains a "Belle" property editor
Removes the re-committed app plugins property editor that shouldn't be there
Fixes: U4-3482 keepUserLoggedIn setting ignored? and streamlines some of the auth methods.
Changes UserController to be CurrentUserController - and removes the other methods in there since that was an overlooked security issue. This controller is responsible solely for dealing with the currently logged in user. Changes over to be currentuser.resource as well.
Fixes: U4-3329 Link to "Edit Profile" errors if you don't have access to Users
fixes dublicate hotkey in legacy editors
fixes missing legacy icons in IE
adds check to dialog swiping
adds fall-back icon to content types
moves touch device prop to rootscope