Added support for `format` objects as quality.

This change fixes #16 by allowing the user to pass in a downloaded
format object. Currently the system will only check a predefined list
for it.

The reason I need this is to download videos with high frame rate. HFR
videos do not contain sound, so the video and audio must be downloaded
separately and then combined.
Improved the new option convention and updated readme.
Updated format to meet coding standards.
Updated to separate the additions and clean up verbage.
Updated for accuracy.
Merge pull request #17 from JimmyBoh/master

Added support for `format` objects as quality.