Add extensions

This commit adds two extensions.

1. a native type to store data in puppetdb
2. a function that can be used to grab an ip address
given an interface
Adding tests

fixing issues as I run across them