Major speed improvements in constructs + more options for alternate activity construct

* Use numpy functionality to speed up rescaling or normalizing operations that involve a vector
* Use scipy sparse matrices in cases of large sparse matrix multiplications (introduces new dependencies, but saves a LOT of time. For example, CTC or BTC on 59 region exiopol goes from minutes to ca. 5 seconds)
* Possibility to avoid returning un-normalized flows Z and F_con in all constructs (probably saving on memory)
* By default, in build_mr_Gamma(), exclude from the definition of alternate activity matrix (Gamma) those industries whose primary product is produced in smaller amount than their secondary product. Almost guarantees convergence of AAC.