Tighten up definitions in lib.yang.xpath
Tighten up definitions in lib.yang.xpath

This refactors a bunch of code to tighten up the definitions of functions
that are in lib.yang.xpath. These do more checking, are easier to read and
more versatile. I've removed arguments which didn't *have* to be there.

eugeneia/snabb,Igalia/snabb,alexandergall/snabbswitch,alexandergall/snabbswitch,snabbco/snabb,dpino/snabbswitch,alexandergall/snabbswitch,dpino/snabbswitch,alexandergall/snabbswitch,eugeneia/snabb,Igalia/snabbswitch,eugeneia/snabbswitch,dpino/snabb,SnabbCo/snabbswitch,Igalia/snabb,heryii/snabb,eugeneia/snabb,Igalia/snabb,snabbco/snabb,Igalia/snabb,alexandergall/snabbswitch,eugeneia/snabb,snabbco/snabb,dpino/snabbswitch,eugeneia/snabbswitch,dpino/snabb,dpino/snabb,SnabbCo/snabbswitch,dpino/snabb,dpino/snabb,dpino/snabbswitch,Igalia/snabb,alexandergall/snabbswitch,Igalia/snabb,snabbco/snabb,Igalia/snabb,snabbco/snabb,heryii/snabb,heryii/snabb,eugeneia/snabb,snabbco/snabb,SnabbCo/snabbswitch,eugeneia/snabb,eugeneia/snabbswitch,eugeneia/snabb,eugeneia/snabbswitch,Igalia/snabb,Igalia/snabbswitch,heryii/snabb,alexandergall/snabbswitch,Igalia/snabbswitch,SnabbCo/snabbswitch,snabbco/snabb,dpino/snabb,dpino/snabb,snabbco/snabb,heryii/snabb,Igalia/snabbswitch,eugeneia/snabb,heryii/snabb,alexandergall/snabbswitch,Igalia/snabbswitch