Rewrite list according to Java API

Important commit. From now on, I am going to develop
all the ADT according to Java Collection API.
Also, coding style has shifted from C style to common Java style.
slightly change minheap to fit Java coding style
start to write unittest for ArrayList and LinkedLiist

fix bugs in linkedlist ADT
continue List unittest, add and remove test
continuing ...