Use gradle with sources
add cause to re-thrown exception
manifest cleanup and build target
case-insensitive collation in sorting, #100 fixed