code: function protoKeys(object, ignoreKeys) {
    var result = [];
    for (var key in object) {
      if (!ignoreKeys || ignoreKeys.indexOf(key) === -1)
        result.push(key);
    }
    return result;
  }
docs: like objectKeys, but includes keys from prototype chain.
  @param object the object whose prototypal keys will be returned
  @param ignoreKeys an array of keys to ignore
   Duplicates code in UI-Router common.js