Add pluggable validation method for items returned from local storage

This is a proposed change that would allow users of basket to add additional validations before using content from local storage.

For instance, one could verify a checksum of components stored in basket - if the checksum fails, a new file will be sourced.

Basket currently checks to ensure that it has an 'item' but doesn't have any ability to check other cases

I'm open to feedback as to the best way to support the pluggable aspect of this.

Feedback welcome