Merge of changes from private branch for a specific auction, made generic, containing loads of improvements.