Issue title: helper methods instead of magic strings?
 Issue body: Just started using rabbit.js today, after spending a week trying to build my own bus. This is pretty awesome. :) 

One thing I noticed, though, is there are a lot of magic strings in creating a socket type. Could we get a simple helper method for those?

For example:

``` js
var pub = context.socket("PUB", {
  routing: "topic"
});
```

Would be mildly better (reduce magic strings and provide semantically meaningful method name) as:

``` js
var pub = context.getPublisher({
  routing: "topic"
});
```

Or something similarly named. I'm just not a fan of magic strings, is all. 

 Comments: 
 Comment 0: Yes, that would be complementary. Magic strings and magic properties are of an ilk in JavaScript, but it does feel nicer, I agree.

{'source': 'GithubIssues', 'repo_name_with_owner': 'squaremo/rabbit.js', 'issue_id': 29680405, 'repo_stars': 1522.0}