Optimize d3.keys

Native JavaScript Object.keys() method is heavily optimized for the specified task (http://jsperf.com/object-keys-iteration/20).  The native method does not perform on the object's prototype and as such, I have concatenated the object's keys with that of the prototype's keys because based on previous implementation it seems the keys of the prototype is also desired. Concatenation is also more optimized than pushing (http://jsperf.com/concatperftest/6).