Update .gitignore.
Split out tests.

Change them to use the external interface.
Change name of range and co methods.

Methods and generic function interfaces are different, names should be too.