Accounting for Nu-Scattering in Keff Calculation

This pull requests modifies the ``Solver::computeKeff()`` routine to account for (n,2n), (n,3n), etc. reactions through nu-scatter. This functionality allows the user to assign nu-scatter as the scattering matrix for one more more ``Materials``, and for this to be accounted for in the calculation for keff. The old formulation for computing keff was as follows:

![equation](http://www.sciweavers.org/tex2img.php?eq=%0Ak_%7Beff%7D%20%3D%20%5Cfrac%7B%5Cdisplaystyle%5Csum_%7Bi%20%5Cin%20I%7D%20%5Cdisplaystyle%5Csum_%7Bg%20%5Cin%20G%7D%20%5Cnu%5E%7BF%7D_%7Bi%2Cg%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5CSigma%5E%7BF%7D_%7Bi%2Cg%7D%20%5CPhi_%7Bi%2Cg%7D%20V_%7Bi%7D%7D%7B%5Cdisplaystyle%5Csum_%7Bi%20%5Cin%20I%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5Cdisplaystyle%5Csum_%7Bg%20%5Cin%20G%7D%20%5CSigma%5E%7BA%7D_%7Bi%2Cg%7D%20%5CPhi_%7Bi%2Cg%7D%20V_%7Bi%7D%20-%20L_%7Bi%2Cg%7D%7D&bc=White&fc=Black&im=jpg&fs=12&ff=arev&edit=0)

The new formulation uses total-nu-scatter instead of absorption in the denominator:

![equation](http://www.sciweavers.org/tex2img.php?eq=%0Ak_%7Beff%7D%20%3D%20%5Cfrac%7B%5Cdisplaystyle%5Csum_%7Bi%20%5Cin%20I%7D%20%5Cdisplaystyle%5Csum_%7Bg%20%5Cin%20G%7D%20%5Cnu%5E%7BF%7D_%7Bi%2Cg%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5CSigma%5E%7BF%7D_%7Bi%2Cg%7D%20%5CPhi_%7Bi%2Cg%7D%20V_%7Bi%7D%7D%7B%5Cdisplaystyle%5Csum_%7Bi%20%5Cin%20I%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5Cdisplaystyle%5Csum_%7Bg%20%5Cin%20G%7D%20%5Cleft%28%5CSigma%5E%7BT%7D_%7Bi%2Cg%7D%20-%20%5Cnu%5E%7BS%7D_%7Bi%2Cg%7D%5CSigma%5E%7BS%7D_%7Bi%2Cg%7D%5Cright%29%5CPhi_%7Bi%2Cg%7D%20%20V_%7Bi%7D%20-%20L_%7Bi.g%7D%7D&bc=White&fc=Black&im=jpg&fs=12&ff=arev&edit=0)

This new formulation was implemented for the ``CPUSolver``, ``VectorizedSolver`` and ``GPUSolver`` subclasses of the abstract ``Solver`` class. 

One item to consider before merging this PR is that the precise value for keff is no longer strictly reproducible for parallel calculations. This seems to only  true in the sub-pcm level. Interestingly enough, it appears to be more of an issue for small problems than for large problems. I only notice this issue when compiling OpenMOC with single precision - I observed no discrepancies when using double precision using the ``--fp=double`` compile time command line argument.

I believe this issue is the result of roundoff error propagation during summations of large arrays. This is the reason we began using [pairwise sum](http://en.wikipedia.org/wiki/Pairwise_summation) throughout the code a year and a half ago. Although the new code still uses pairwise summations of the total, fission and scattering reaction rates, the roundoff error issue is exacerbated due to the fact that I am summing across the group-to-group scattering rates.

One potential fix might be to break up the ``_sigma_s`` attribute for the ``Material`` class into ``_sigma_s`` and ``_sigma_matrix`` attributes. The user would simply need to pass in the scattering matrix to the ``Material::setSigmaS(...)`` routine to be stored in ``_sigma_s_matrix``. Under the hood, the rows of the matrix would be summed up and stored in ``_sigma_s``. Then, when ``Solver::computeKeff()`` is called, the only ``_sigma_s`` would be used rather than the matrix. This *should* reduce roundoff error propagation by implicitly embedding a pairwise sum in into the keff calculation. In addition, it would improve performance, particularly for problems with >100 energy groups.
I just checked the file in emacs and in this PR and the line numbers look correct. I didn't post an issue because it was just a small stylistic issue that I saw when looking at the code a week or so ago.

line 633 should be `fission_source = pairwise_sum<FP_PRECISION>(&_fission_sources(r,0),`
line 635 should be `fission_source *= inverse_k_eff;`
line 649 should be `scatter_source=pairwise_sum<FP_PRECISION>(&_scatter_sources(tid,0),`

Lines 633 and 635 are indented for the `for` loop on line 630, but you will notice the for loop only has one line of code (line 631). Lines 633 and 635 should only be indented two spaces from the preceding `if` statement on line 629.