Add "remove" method, refactoring, and javadocs!

Aside from the “remove” method and some boilerplate-ish javadoc, this
commit mimics java.util.prefs.Preferences “null” checks.

[1730]