Merge pull request #25 from marcinofulus/master

Fix typo in encoding in the duct_flow example.
Modified lb_binary.py to generalize SC model

1. added force couplings between all components
2. added arguments for interaction strengths G11, G12 and G22
3. setting interaction strength G12 sets G21=G12 by default
Modified shan_chen.mako to generalize SC model

1. initialized 'sca0' before function call to shan_chen_force() instead of as 'force' in shan_chen_force()
2. shan_chen_force() is now called for every interaction in the 'force_couplings' dictionary between component 'grid_idx' and component 'dists[1]' unless the 'coupling_const' is equal to 0.0. The results are added to sca0. For example, setting G11 and G12 results in the code:

// for grid_idx = 0:
float sca0[2]={}:
if (isWetNode(type)) {
      shan_chen_force(gi, g0m0, gg0m0, G11, sca0, gx, gy);
      shan_chen_force(gi, g0m0, gg1m0, G12, sca0, gx, gy);
      // Convert momentum and force into velocity and acceleration.
      sca0[0] /= g1m0; sca0[1] /= g1m0;	}

// for grid_idx = 1:
float sca0[2]={}:
if (isWetNode(type)) {
      shan_chen_force(gi, g1m0, gg0m0, G21, sca0, gx, gy);
      // Convert momentum and force into velocity and acceleration.
      sca0[0] /= g1m0; sca0[1] /= g1m0;	}
Created sc_droplet_2d.py

Converted sc_droplet.py to a binary case with self-interaction of component 1.
Changed 'G' to 'G12'
fixed missing endif statement
Fixed issue when G11 and G12 are set

In case both G11 and G12 are set, the flow should now be:
1. Initialize 'sca0'
2. In 'shan_chen_force', initialize and calculate 'force' for G11, add to 'sca0'
3. In 'shan_chen_force', initialize and calculate 'force' for G12, add to 'sca0'
4. 'sca0' is now the combined force G11+G12
Add ExtractSlice.
Fix consistent density field initalization.
Add utility code to visualize LB grids.
Change the Smagorinsky model to the one used by Yu et al.
Remove non-ascii chars from the templates. Fix taylor_green density
error.
Add more __restrict__ qualifiers (they seem to have no impact on performance,
though).
Speed up propagation by reordering writes.
Use 8-byte bank size for shared memory for double precision simulations.
Add support for shuffle propagation.
Add a description for the AB propgation regression test.
Add an option to disable shuffle-based propagation.
Add comments in plot_util.
Simplify the 2D cylinder example.