Alternative key-cols-by-alias logic

@mbrevda there were some issues with your PR:

- did not address "col alias" (i.e., space as AS, which is allowed)

- it looked like it might overwrite sequential keys on subsequent calls to cols() but I did not test it

- the test itself looked backwards to me; it should be "col AS alias"

I have added the "key $cols by the alias when present" functionality in an alternative fashion in this PR. There is one "gotcha" and it is that later uses of the same alias name will overwrite earlier uses; I can see where this would be unexpected behavior at the PHP level (previously it would have resulted in an SQL error). 
Have to allow for $select->cols(array('foo', 'bar', 'baz')) without it converting to "foo AS 1, bar AS 2, baz AS 3".