Bug 1093951 - Entering wifi power save mode when screen off. r=alive

While screen is off, wifi would go to power save mode only
when wifi lock is held. If wifi lock is not held, wifi would
stay on and be turned off after |wifi.screen_off_timeout|.
We can more aggressively request the wifi driver to enter
power save mode before timed out. This is what the patch
intends to do.
Move album art fetching to a separate file and simplify the interface
Move id3v2 parsing to a separate file
Move ogg metadata parsing to a separate file
Simplify sending album art over IAC
Fix tests
Pull out the MP4 parser
Pull out id3v1 parsing
Add a generic place to register metadata parsers
Clean up metadata.js and stop using almost-global variables
Move metadata.js
Make the top-level metadata parser use Promises too!
Fix tests
Clean up id3v2 parser
Move test files to match the structure of the js/ dir. This way, tests are automatically rerun if the file they're testing is changed
Fix lint errors (some of these were real errors in edge cases too)
Add lots of comments
Address review comments
Bug 1097564 - Support promise for NFC related WebAPI. r=alive
Bug 1047168 - Modify test_play_youtube to play a video file locally