Add options and diagnosis tools when defining primary production

* Pass parameter to build_E_bar() to _not_ prefer the diagonal elements
  as primary products (and istead always pick the largest production,
  regardless of position)

* Check to quickly know how many:
	+ off diagonal primary products we have
	+ exclusive secondary products
	+ primary products with smaller production volume than one of
          their associated secondary productions.

 On branch smarter_Ebar
 Changes to be committed:
	modified:   pysut/pysut.py
Speed up code, leveraging numpy

* Use array multiplication rather than matrix*diagonalized_vector

* Use 1/vector rather than inv(diag(vector))

* Use internal array summation routines rather than summation vectors

 On branch smarter_Ebar
 Changes to be committed:
	modified:   pysut/pysut.py
improve documentation and unittest build_Ebar
Merge branch 'smarter_Ebar'
major speed improvements for alternate activity construct

* using scipy.sparse for many sparse matrix treatments, notably:
	+ in region_aggregation
	+ in defining Gamma
	+ in alternate technology matrix elaboration

 Changes to be committed:
	modified:   pysut/pysut.py
	modified:   setup.py
In definition of Gamma, option to exclude minority primary prods

 On branch speed_encapsulation
 Your branch is up-to-date with 'kbare/speed_encapsulation'.

 Changes to be committed:
	modified:   pysut/pysut.py
properties to handle q, g, V_bar, V_tild + minor clean up

* can now treat self.q, self.g, self.V_bar and self.V_tild as
  attributes, as they are now governed by properties

* indicate that some functions are "protected"

* rename test file to test_known_results.py to facilitate unittest:
	python -m unittest discover

* add argument to all construct functions for (planned) potential
  exclusion of absolute flows from constructs (e.g. to save memory)

 On branch speed_encapsulation
 Changes to be committed:
	modified:   pysut.py
	modified:   tests/__init__.py
	modified:   tests/test_allocations_constructs.py
	renamed:    tests/known_results.py -> tests/test_known_results.py
All constructs speed with spares matrix + return flows now optional

* hidden properties return sparse versions of key variables
	self.__sU returns the sparse matrix of self.U

* All construct equations are now performed with sparse matrix, which
  greatly speeds things up, considering how sparse V, E_bar, Gamma, PHI
  and Xi are...

* With parameter, all constructs can now avoid returning the
* unnormalized flows.

* additional unit tests

 On branch speed_encapsulation
 Changes to be committed:
	modified:   pysut.py
	modified:   tests/test_allocations_constructs.py
Merge pull request #3 from majeau-bettez/master

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