Fix persistent parameter handling to be kw only

The persistent parameter in reg methods would eat the first
positional argument passed to any method/function. This is fixed
by requiring persistent parameter to be passed as a keyword
argument when used.
Fix tests for persistent registration