Reviewer Andy : Allow multiple public identities for each private identity in Ellis

- Extended Ellis API to allow web client to query which private idenitities belong to which public identities, and create new public identities specifically linked to private identities.
- Added new methods to the homestead remote to modify associations between private and public identities in Homestead
- Modified number creation, deletion and account deletion to correctly handle the now non-trivial relation between public and private identities.
- Remove all instances of code where we assume a trivial relationship between private and public id
- Add/Update UTs fo all new function

Testing wise, all I have done is ran the unit tests as the other components for this story are not yet ready. My plan is to work on the ellis UI code on another branch, and only merge this pull request when the supporting Homestead code is in.