[MERGE #1010] xplat: runtests.py: prevent mixed output, misc improvements
[MERGE #1010] xplat: runtests.py: prevent mixed output, misc improvements

Merge pull request #1010 from jianchun:py2
Prevent mixed output: Previously a test run sends/queues multiple result
messages. This can result in intertwined messages from different test runs
thus mixed output. Change test run _print to buffer outputs, and sends
whole test pass/fail/elapsed_time together with output as one message.

Add `exclude_x86/x64' to global `not_tags` to better filter tests.

Support multiple `tags` in rlexe.xml. Used by some tests.

Support test specific `timeout`.

Changed log format slightly to log [#current_test/#total_test] to indicate
progress.

Microsoft/ChakraCore,Microsoft/ChakraCore,Microsoft/ChakraCore,Microsoft/ChakraCore,mrkmarron/ChakraCore,mrkmarron/ChakraCore,Microsoft/ChakraCore,mrkmarron/ChakraCore,mrkmarron/ChakraCore,mrkmarron/ChakraCore,Microsoft/ChakraCore,mrkmarron/ChakraCore,mrkmarron/ChakraCore