References API implementation

Fixes #130

It's yours if you want it :smile:

I'd love some feedback on how you'd like the `GetAll` overload that takes the `subNamespace` parameter. I think it might be better to use a enum value here. Do you do any validation on the client anywhere?

I also snuck some namespace additions in here. Tell me if you'd like me to remove this commit.