File approvals fully functional, minus AppRevs special page issues

== Changes made this commit ==
* Handle "delete" and "revert" file functions
* File pages check sha1 and timestamp in all cases, where before it was just checking sha1 sometimes
** Old sha1s can be uploaded/reverted, thus making the same sha1 appear in the history more than once, but will have a new timestamp
* Attempted to fix confusing cache issues on "revert" action with $file->purgeCache()...no joy
* Made onFileDeleteComplete() work properly, handles clearing approved rev if that file rev is deleted
* Removed "unsetApprovedFileBySha1" method, which didn't work because files are unique by sha1 AND timestamp
* Removed references to "Self" permission type for user pages

== Issues still pending ==
* When uploading a new file, it checks to see if it is a duplicate of latest-rev files only.
** At a minimum, it should check all approved revisions too
** Ideally it should check all pending revisions
* Fix "Unapproved Pages" list
* Approved pages that are no longer included in "MediaWiki:Approvedrevs-permissions" don't show approvals
** Should they? I think the answer is "no", but that I should create additional special page that lists all pages that are not considered approvable, but have an approved revision (with an "unapprove" link next to the page)