Refactor URDF model parser

`initXML` callback wasn't necessary; those should be hash maps not arrays; loop should be a good ol' for; allow values such as empty string and 0; couple unnecessary conditions 

(most of the diff is from removing the `initXML` cb