function hasAllProperties(fieldList, o) {

   return      (o instanceof Object) 
            &&
               all(function (field) {         
                  return (field in o);         
               }, fieldList);
}
Returns true if object o has a key named like every property in 
the properties array. Will give false if any are missing, or if o 
is not an object.