Early beginnings of creating an optimized CPU platform
Optimizations to neighbor list construction
More optimizations to neighborlist construction, including SSE intrinsics
Neighborlist construction is multithreaded.
Separated hardware query functions into a separate file.  CPU platform checks for the correct hardware.
Began creating optimized implementation of direct space nonbonded calculation
Continuing to optimize CPU nonbonded routines
PME works correctly in CPU platform
Use optimized PME implementation when available
Direct space nonbonded is multithreaded
Do not rebuild the neighbor list every time step
Fixed a race condition
Corrected minor bug in GBneck screening parameter assignment. The existing logic
was:

if symbl[0] == ('c' or 'C'):
   ...do stuff...

This logic will match only 'c' as ('c' or 'C') evaluates to 'c' while
('c' and 'C') evaluates to 'C':

>>> 'c' or 'C'
'c'
>>> 'C' == ('c' or 'C')
False

The correct logic is either

if symbl[0].upper() == 'C':
   ...do stuff...

or

if symbl[0] in ('C', 'c'):
   ...do stuff...

(Alternatives can be [ if symbl[0] in 'cC' ] or [ if symbl[0].lower() == 'c'])
Add a comment to clarify that calling setReactionFieldDielectric on force
instead of gb is intentional.
Merge pull request #165 from swails/master

correct minor bug in GBn screening parameter determination.
Tabulate the Ewald scale factor
Assorted optimizations
Bug fix, plus a minor optimization to reference platform
Bug fix
Merge pull request #167 from peastman/cpu

Created optimized CPU platform