junmin-ngx-url-async-fetcher: changes after reviewing and testing

Summary:
- Updates the code to the current pagespeed/master
- Make it pass all tests in ngx_system_test.sh.
- Makes using the native fetcher configurable [1]
- Fixes a few bugs and  edge cases
- Resolves cpplint complaints
- Resolves valgrind complaints

[1] configuration:

    http { 
        ....
        resolver 8.8.8.8;
        pagespeed UseNativeFetcher on;
        ....
    }