sort pages by filename

pages were shown in the order listFiles returned them. This patch
fixes this by introducing setters on Document that sort the pages
on setting.

+ Use Lists rather than Arrays
use getters and setters for Document fields
remove unused fiels "path" from Document
use compiled patterns for filename matching

previously this was done once for every file