Feature names api rebased

refs #44 Implement the names api skeleton. Unit and integration tests are included. This branch has been rebased from master just before the pull request.

Requests for the following resources have been implemented:

/address ->
    + get: returns a list of participant addresses
    + delete(entity='someAddress'):: removes 'someAddress' from the list of addresses and calls delete('someAddress') on resource /address (if 'someAddress' was found and removed)
    + set(entity='someAddress'): adds 'someAddress' to the list of addresses
/address/${id}
    + get: returns participant info for the specified address
    + delete(entity='someAddress'):: removes the info for 'someAddress' and calls delete('someAddress') on resource /address (if 'someAddress' was found and removed)
    + set(entity={partipantInfo}): sets the participant info
/multicast ->
    get: returns a list of multicast groups
    delete(entity='someGroup'):: removes 'someGroup' from the list of groups and calls delete('someGroup') on resource /multicast (if 'someGroup' was found and removed)
    set(entity='someGroup'): adds 'someGroup' to the list of multicast groups
/multicast/${id}
    get: returns a list of addresses for the specified group
    delete(entity='someGroup'):: removes the group and its addresses, and calls delete('someGroup') on resource /multicast (if 'someGroup' was found and removed)
    set(entity='someAddress'): adds 'someAddress' to the list of addresses for the group.