removed exception throwing on parse failure

instead, a success state is implemented in the returned
structure, and even if it is a failure, the parsed ast is
still returned for partial results
move AST to String formatting from tests to src code
publicize php parser for js
use QObject children cleanup functionality
decouple parser result implementation from the interface definition
implement iterator adapter for js