Dns list base

Currently, this PR passes on 0.10 and fails on 0.8. I've added a few more tests, checking the return value of 'a' in the multi method. It works correctly (in all tests, so far) when called with a single zone, but fails sometimes when called with multiple zones. Solved by replacing the "subject to race condition" forEach loop with async.each.