Change LessCompiler input from File to URL.
Created LessSource to represent either a File or a URL source.
LessSource now exposed as an input type to the compiler, and now
collects lastModified (and latestModified) times and a collection of
the resources that were imported.

This will enable a caller to have more control over the source, and to
observe which files were used and what their lastModified times were.
So the caller can implement caching.
Tidy source code

Correct indentation, and undo unintentional changes to imports due to an Organise Imports run in Eclipse.
Merging #93 . Also, modified LessSource to throw FileNotFound, CannotReadFile
insted of MalformedURLException and IOExceptions.