add a props dict as an attribute to Species

this allows the user to store user-defined, and arbitrary
key-value pairs of his/her choice.

Conflicts:[RESOLVED]

	rmgpy/species.py
add props attribute in constructor as parameter and default to empty dict

this is more flexible than setting it in the constructor to an empty dict.
This way, one can also transfer a properties dict from elsewhere.

Conflicts:[resolved]

	rmgpy/species.py
add props parameter when calling constructor of species.Species

Conflicts:[RESOLVED]

	rmgpy/rmg/model.py
add cythonized props dict in species.pxd
add documentation in rmgpy/species.Species on props attribute
added test in speciesTest for props dictionary attribute of Species.

testing if props attribute is a dictionary, and if dictionary entries
are properly stored.
Merge pull request #278 from nickvandewiele/props_species_refactor

Add props dictionary attribute to the Species class for storing various user-defined properties.
test checking multiplicity parsing of group
Correct the new testFromAdjacencyList_multiplicity unit test.

Written by a java dev :-)
Fix bug in parsing group adjacency list multiplicities.

Also added comments for the somewhat complicated reg-ex.
Thanks for finding the bug, Nick.
Added another unit test for parsing multiplicity lists in group adjacency lists.
Merge branch 'multiplicity-regex-bug' of https://github.com/rwest/RMG-Py.git into isomorphism_check_new_format

Conflicts:[RESOLVED]
	rmgpy/molecule/adjlistTest.py
removed some impossible combos of u, p and c.

now we set u to a value, and determine the possible charges
based on the derived 'unspecified valency', i.e.
the valency (eg O has 6, C has 4) - 2*number of lone electron pairs
- unpaired electrons.

The unspecified valency can either be used to bond hydrogens, or to
create charge.
removed bug in atom radical electron checking

return False whenever we found that the number of unpaired electrons
of the molecule atom cannot be found in the list of unpaired electrons of
the group atom.
use rmgpy.molecule.adjlist.PeriodicSystem in isomorphismTest.py
add lone pair check in rmgpy.molecule.Atom equivalent method

was not there, two atoms with different numbers of lone pair counts
would have been considered equal.