Flushes the parser and checks its end state.
The 'callback' parameter specifies a function which will be called when the operation completes (or an error is encountered). If the 'callback' parameter is not specified, then the method will block and will not return until the operation completes (or an error is encountered).
The callback for this method is defined as:
'err' is the error that occurred. If there was no error, then 'err' is 'null'.
'err' has 2 properties which hold detailed information:
When Flush is called, the parser flushes all its buffers, firing events as necessary, and then checks its end state.
Any extra un-parsed data will be populated in the ExtraData property after this method is called.