Change interface of addOrUpdateProfile

Before: `addOrUpdateProfile(user, cb)`
After: `addOrUpdateProfile(userId, profile, cb)`

I find it more consistent with other methods, and also fits better when used in Blip? See below:

Before I had something like this:

```javascript
var userId = '123';
var profile = {fullName: 'Mary Smith'};

// need to add `id` to update profile
profile.id = userId;
addOrUpdateProfile(profile, function(err, profile) { /*...*/ });
```

Now I can do this, which I find clearer?

```javascript
var userId = '123';
var profile = {fullName: 'Mary Smith'};

addOrUpdateProfile(userId, profile, function(err, profile) { /*...*/ });
```

This is a breaking change so would need to update version to `0.6.0`. I think only Blip uses this method at the moment?