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 think this might be a problem when people has `ENV.EXTEND_PROTOTYPES = false`, because `find` will not work in IE8 an older.

You can coerce the `properties` array to an ember Array to be sure this is not a problem. Check this: http://emberjs.com/guides/configuring-ember/disabling-prototype-extensions/#toc_arrays