Parse options in two phases, allowing multiple backends to define the same option disambiguated by the --backend option value.
Merge branch 'master' into gsoc13