WIP: VideoIO with AVOptions v0.01 (compatible with ffmpeg 2.4.2)

AVOptions API
============
Maximiliano Suster
October 2014

AVOptions provides a generic system to get/set options for Devices, formats and Codecs.
It relies on AVOptions, AVDictionary and AVDeviceCapabilitiesQuery APIs.
AVOptions API is contained in src/avoptions.jl.

Currently the following functions in work:

       document_all_options
       print_options
       is_option
       set_default_options   
       set_option 
       get_option
       create_dictionary
       set_options_with_dictionary

Ongoing work:
The following functions depend on the DeviceCapabilitiesQuery API.  Some require the newly updated ffmpeg 2.4 libraries (>=AVUtil 53). 

      query_device_ranges,
      set_device_with_query,
      list_devices
      get_metadata 
      
Examples and documentation will be presented once completed.   



After changing `assert_type` above, `option` is no longer set, leading to an error on line 27 below (`"option not defined"`).

The fact that return type depends on the value of `OPTION_TYPE` means that the compiler won't be able to infer the return type, so any code which calls this may end up being a little slow.  It would be better to split it up into smaller, specific functions.  I have to run now, but can submit a pull request for that later, unless you want to do it.  

(I haven't figured out your sleep schedule relative to mine yet, so I don't know if you're awake, busy, etc... :-)