common: remove Ratio struct

* Use AVRationnal instead.
* VideoFrame: add getDarNum and getDarDen to get values of rational
whithout manipulate AVRational.
* AVRational has no constructor to initialize its attributes: initialize
AVRational in our classes.
common: rename ParamSet to Context

* Create the new Context class in new files (hpp + cpp): no reason to
have it in common.
* Get Context files in option folder.
Option: constructor only need AVOption

* Get our corresponding type of AVOption in the constructor.
* Function getTypeFromAVOption is private and is only used in the
constructor.
* Update OptionLoader: if a user wants the type of an option, he can use
option.getType().
Option: rename enum OptionType to EOptionBaseType

Also rename enum values.
option: can access an option by a context

* Context:
     * has a map of options.
     * has a link to its corresponding avContext.
     * has getter to any of his options.
     * remove setters (the option has the setters).
* Option:
     * has a link to an AVOption.
     * has a link to its corresponding avContext.
     * has setters.
     * rename _options to _childOptions.
* When we want to set a value of an AVOption:
     * get an Option by a Context.
     * set its value by a set of Option.
Rename OptionLoader files to util

* No more OptionLoader class: the options are manage by Context and
Option classes.
* Keep utilities functions of OptionLoader in a new file named util.
* Context:
     * add getOptions and getOptionsMap.
     * add documentation.
* OptionChecker app: fit to new architecture.
context: add FormatContext and CodecContext classes

* FormatContext enbale to get options whithout care about allocate and
free an AVFormatContext: this is the job of the class.
* CodecContext enbale to get options whithout care about allocate and
free an AVCodecContext: this is the job of the class.
* Rename Context files to context.
Rename CodedDesc to Codec

* Rename codedStructures folder to codec.
* Rename CodedDesc to ICodec.
* Rename VideoDesc, AudioDesc, DataDesc to VideoCodec, AudioCodec,
DataCodec.
ICodec: rename getCodec / getCodecContext to getAVCodec / getAVCodecContext
ICodec: remove default copy constructor

Automatically generated.
ICodec: remove warning due to forward declaration
ICodec: rename setCodec by setEncoderCodec
CMake: fix JAR package generation
context: store an AVFormatContext in FormatContext / an AVCodecContext in CodecContext

* Call the loadOptions from the constructors of FormatContext and
CodecContext.
* Context: need to add a default constructor.
optionChecker app: pass a const vector of options to displayOptions
Merge branch 'master' of https://github.com/avTranscoder/avTranscoder into dev_clean_refactoring
EssenceTransform: rename folder/files/classes whithout 'essence'

* Rename folder 'essenceTransform' to 'transform'.
* Rename files to ITransform, VideoTransform and AudioTransform.
* Rename classes to ITransform, VideoTransform and AudioTransform.
* No sense to have transforms for coded data. So transforms are
implicitly for essence (decoded) data.
essenceStructures: rename folder to frame

The folder contains all classes about frame.
Remove DataStream class

* Duplicate with Frame class.
* Add a typedef of Frame, CodedData, to represent buffer of coded data.
AvInputStream: has ownership to a single codec

* In constructor, instanciate a videoCodec, or an AudioCodec, or a
DataCodec.
* Get the codec with getter (use reference).