[simulate_cmd.py] Generating binaries given fb

- See more details in research blog.

- simulate_cmd.py now generates a binary star if the kwarg fb is
  passed and is greater than zero. if 'fb' is passed, 'alpha_sec'
  must also be passed

- fb = binary fraction, i.e. fraction of systems for which to
  generate a secondary star, goes from 0.0 to 1.0. We assume
  that fb is a single parameter independent of system metallicity,
  primary mass, system age, etc.

- alpha_sec: The secondary star distribution is produced by rejection
  sampling with a power-law IMF. The power law is of the form:
  dN/dM2 = k M2^-(alpha_sec), so alpha_sec = 2.35 is for an exponent
  of -2.35.

- Mass bounds for secondary.
  mass_max_sec = M1 = mass of primary for a given primary
  mass_min_sec = iso['mass'].min() = minimum isochrone mass.
    !!important: mass_min_sec NOT equal to mass_min for
    creating a distribution of M1. The reason is that in the
    case of rejection sampling, I choose a minimum M1 that is
    significantly lower than the faint magnitude cut-off but
    not typically as faint as the low mass end of the isochrone,
    otherwise too many mock samples have to be created. this is
    moot for transformation method, but in certain cases I will
    still need to use the rejection method (low sigma_c, lognormal imf).

- Note that the secondary mass is computed using rejection sampling, no
  point in doing transformation method for a single star.

- No triple+ systems included in simulation.