implements takeRight() and dropRight() method
remove guava
implements takeWhile() and dropWhile() methods for List
modify test method name to make sense
delegate all methods relate to selecting to SelectingList
delegate all methods in SwiftList to other related classes
implements partition() method
rename newArrayList to arrayList to prevent from conflict with Guava
implements take() and copyToArray() method; got cast error for copyToArray() and solve it later
implements exists() method