Refactor address set code for greater flexibility.

For some reason, this code doesn't work.  While the refactor does not
appear to break acceptance/14-list-addresses, I simply _cannot_ find a
reason why it won't work for acceptance/19-list-addresses-0.1.  If
anyone can review this code and let me know what I'm doing wrong, I'd be
most appreciative!
Fix no address pools bug
Merge pull request #125 from rackspace/gh-111-arbitrary-ip-pool-names

Refactor address set code for greater flexibility.