add gradle as build tool

- add build.gradle
- add gradle wrapper for unix and windows
remove trailing white spaces
update gitignore for gradle
configure travis to skip install phase

- replace pre_install with install so it won't run gradle install phase
add extended flag to list command
describe new list parameter in protocol doc
fix documentation on default list command
introduce OathList class

- move non-final static members and static methods of OathObject to
  OathList, so they can't be read/set by other applets
- change OathObject creation to require list as parameter
- remove asserts from test that worked on leaking state