fix mkdir -p bugs.

use a more popular mkdirp lib, use original node fs library for everything else, and assume every dir creation requires intermediate containing dirs
make folder creation success verbose only

use %j with util.format to automatically present names in quotes
remove 1-second delay after creating mediaOut folder, and only proceed to download if creation successful
fix uncaught exceptions in requestJson

check error first, then reponse presence, then response code.
don't accept a range of response codes, only HTTP 200 will contain what we want
wrap JSON.parse in try/catch if response is something else (HTML 404 / 501 for example, although response code check should now catch this first)
fix hard crash if headers property doesn't exist

no need to check for etag being undefined, a lack of headers also signifies an error state.

seeing as nothing happens in the true part of the if statement, just express it in the negative
lint: add semicolon, remove unnecessary return
use path module to work with filesystem paths
When requesting files, send the etag in an If-None-Match HTTP header, rather than calling HEAD and then GET.

This lets us issue a single request per file. Note that this assumes the server uses the MD5 of a file's content as its etag, which is true for Amazon S3. Proper HTTP compliance would be to save the server's etag from the response HTTP headers
use names instead of numbers for HTTP response codes, just for readability
lint: remove + that does nothing
lint: ;
fix var name
add a few more jshint options
remove unused dependencies
report mkdir error if one occurs in verifyDownload
unused vars: some removed, some now used
auto whitespace cleanup
version bump to 0.0.10

Reliability fixes
Single request per file