libhb/common: API cleanup.

- don't expose rate, mixdown, dither and encoder arrays to the UIs
  - instead, make them available through iterators
  - this should give plenty of flexibility to implement dynamically
    populated encoder lists behind-the-scenes (e.g. via linked lists)

- use consistent naming for getters
  - hb_get_best_foo() becomes hb_foo_get_best(), and so on

- cosmetics
  - rename hb_rate_t.string                 to hb_rate_t.name
  - rename hb_mixdown_t.encoder             to hb_mixdown_t.codec
  - rename hb_mixdown_t.human_readable_name to hb_mixdown_t.name
  - rename hb_encoder_t.human_readable_name to hb_encoder_t.name

Note that many of the new getters aren't yet implemented.
This commit is only meant to ensure that the new API compiles properly.
CLI: update to new libhb/common API.