detect bad_alloc as out-of-memory

Clang prints the bad_alloc message on out-of-memory, and sadly only
sometimes, other times it just crashes, but this is better than nothing.
Icecream's detection of actual running out of memory seems to be broken
(and the code looks fishy to me).
Improves create_native to use std::vector

 * Improves create_native function to use std::vector
instead of char** to build the list of parameters to
execv icecc-create-env script.

Signed-off-by: Ragner Magalhaes <ragner.magalhaes@gmail.com>