Implement general function insertLookupGen.

Implement insertLookupWithKey in terms of insertLookupGen.
Loosen forcePair type.
Rewrite insertWithKey in terms of insertLookupGen.
Rewrite insert in terms of insertLookupGen.
Rewrite insertWith in terms of insertLookupGen.
Merge pull request #72 from archblob/insertLookupWithKey

Implement insertLookupWithKey and rewrite insert functions.