Added dropWhile().

+ Lazy drop based on condition.
+ drop() is now defined using dropWhile().
+ tail() is now defined without drop, but also lazily.