support reading files from http URLs
callbacks use standard node (null, data) instead of (undefined, data)