Added caching support

isCached is a flag responsable for knowing if there was a significant
change on the list. If so, isCached is set to FALSE, and forces getNode
to go trough all the nodes until find. Or, if set to true, it will
recicle the last node got IF it's sequenced.
Caching for getNode implemented
Initializing caching. Clean code
Methods are Virtual. Fixed Caching.

Virtual methods are useful for extending the class and implemented
overriden methods of the class
V1.1 updates to readme.md
V1.1 readme.md final revision