add 'node_modules/' to be ignored by git
simplify method and improve testing for head()

The head() method was implemented so that it does NOT remove
the top value of the list. This refactor makes that more clear,
and adds tests to document that behavior.

This commit should not change the behavior of head() at all.
add pop() with tests.

The head() method looks at the top value, but does not remove it
from the lazy list. The new method, pop(), will remove the value.

lazy.pop(f) == lazy.head(f); lazy.skip(1)