Fix top offenders in log file

After reviewing log files, found two messages responsible for most of the errors

1. ItemViewer.getValidity()
2. IfModifiedSinceSelector.select()


## ItemViewer:

ItemViewers are recycled by dspace between requests.  ItemViewer objects have an ArrayList of dataFiles that are populated when viewing a package.  This list was populated when viewing a data package but left alone when viewing a file, so it was very likely to contain data files after a user navigates from a data package page to a data file page.

The files contained in the list hold a reference to the context where they were loaded.  The context is usually completed after the data package page is shown, so the files were holding a reference to a completed context (null connection)

When getValidity() ran to get the validity of the data file page, it tried to pass in the files from the array, which have stale contexts and can't be used without triggering an exception.

Clearing out dataFiles in recycle() fixes this issue

## IfModifiedSinceSelector:

This selector attempts to retrieve the DSpace item referenced by the current request and compare its modified date to the If-Modified-Since http header (if present).  But not all requests reference a DSpace Object and this case was throwing a null pointer exception.