Fix Command to build parallel command chains

This allows commands to be reused and executed in parallel, like:

var element = parent.getElementById('a');
element.getAttribute('id').then(function (id) {});
element.getAttribute('class').then(function (className) {});

In this case, the two getAttribute calls will occur in parallel
once the element has been asynchronously retrieved.