merge JSTesting branch into trunk