Avatar upload 

Needs the backend endpoint for full integration test

@perry @maxpeterson 
Wait, why not just return the promise like you do for `load`?