Add firstPresent computed property

`firstOf` returns the first of supplied properties for which its value is not `Ember.isEmpty`

Example:

```javascript
  var Person = Ember.Object.extend({
    displayName: EmberCPM.Macros.firstOf('nickname', 'name', 'email')
  });

  var person = Person.create({
    nickname: '',
    name: "Jean-Luc",
    email: "jean@starship-enterprise.space"
  });

  person.get('displayName'); // => "Jean-Luc"
```
I am not sure about this, because of the new name of the property.

Maybe is because of my ruby background, but I see `present` as the opposite of `blank`, and ember has a `isBlank` function, so the name can be misleading.

Maybe you should use `isBlank` or maybe the code is fine and we should find another name.