Added infinite scrolling (in-memory list)
Fix file summary to use the whole file list

- moved the summary code into a new class FileSummary
- FileSummary is calculated only once, then updated with add/remove
- added new OC.Util namespace for JS utility functions
Fix file selection for infinite scrolling

- moved file selection code to FileList
- fix selection summary when all files are selected
- nextPage now auto-selects files if "select all" checkbox is checked
- fixed trashbin to use the same selection logic as FileList
Fixed file sorting to work with scrolling

The FileList.files model is now updated with file operations.
Adding files to the list will add to the model first, then to the DOM.
If the insertion point isn't visible yet, the file won't be added to the
DOM until the user scrolls down.

Updated unit tests to include checking for the correct insertion point.
Fixed insertion of files

Removed "insert" flag, inserting is by default for FileList.add().
Added "animate" flag to FileList.add().
Added logic to correctly detect when to insert/append elements whenever
the insertion point is visible or not.
Fixed "render next page" logic to work correctly when many pages of
files have been added.
Make sure there are always enough elements visible on the page
Fix trashbin previews and "delete selected"
Fixed selection to be based on FileList.files

The file selection is now based on the internal model array
FileList.files instead of the visible checkboxes.

This makes it possible to virtually select files that haven't been
rendered yet (select all, then deselect a visible one)

Added more unit tests for selection (with shift and ctrl as well)
Fixed drag shadow file sorting
Cleanup and fix trashbin "clear all files" operation
Cleanup of event handlers

Now using _.bind() for event handlers so we can use "this" which is more
readable than a static access to FileList.
Fixed selection summary calculation issue
Fixed drag and drop into folder and onto breadcrumb

Fixed drag and drop code to use FileList.getSelectedFiles() instead of
the visible DOM elements.
typos, naming, remove unused code, identation
Merge pull request #7167 from owncloud/files-ajaxload-infscroll

Infinite scrolling for files app