in the process of adding lots of documentation

also:
1. some structural changes.
2. moved the example from the readme to test/example.js
started to change the internal structure.

I want to make the module more efficient and the code more
understandable.

One of the main intended improvements is to use a hash map
as the internal data structure, instead of using an array and
an object as before, which resulted in duplicate data.
Keys of the map will be the tasks, and values the expiry times.

Currently all the changes will keep backwards compatibility,
as only internal implementation will be modified.

Also continuing to document the code.
finished improvements.

main points:
1. Using a hash map as the internal data structure, instead
   of an array and an object, will result in faster processing
   times of operations such as additions, deletions, purging
   for expired tasks, etc. This is crucial if dealing with many
   thousands of tasks.
2. Simpler and faster implementation of the public methods.
3. Separation between public methods and private methods of
   the module.

documentation:
updated both the readme and the internal documentation of the
module.

testing:
1. created unit tests for the public methods.
2. created a will-documented example script 'test/example.js'
Merge pull request #1 from EyalAr/master

improvements to the module