Do a full ordering for single-dex apps
Do a full ordering for single-dex apps

Summary:
For single-dex apps, we can do a full ordering according to the interdex order.

A brief about InterDexPass flag `normal_primary_dex` and global flag  `force_single_dex`.

| `force_single_dex` | `InterDexPass.normal_primary_dex` | effect on primary dex
| `false` | `false` | Treat primary dex special, sort primary dex according to interdex order, not move classes from secondary dexes to primary dex.
| `false` | `true` | Treat primary dex as normal dex, but add classes from the original primary dex to the beginning of the interdex order first then do the ordering. May move classes from secondary dexes to primary dex
| `true` | `*` | Emit all classes to primary dex without checking the dex reference limits, do a full ordering according to interdex order.

Reviewed By: emma0303

Differential Revision: D19728554

fbshipit-source-id: bf80e356e9788bd390f501ef581352c5ba2613f2

facebook/redex,facebook/redex,facebook/redex,facebook/redex,facebook/redex,facebook/redex,facebook/redex,facebook/redex,facebook/redex