Put the Molecule type in a namespace (not a module)

It's just a type without any associated functions so there's no real need for a module. It could also end up
getting consumed by other .NET languages so a namespace containing the type should make that
easier.

The namespace is just FMol so the full name of the type is FMol.Molecule (not FMol.Molecule.Molecule)!
Extract the element parser from SmilesParser.fs

...as part of my drive to get to grips with how F# projects should be organised.

This one has to be a module because it directly contains values. Function and
value declarations must be part of a module. Preceding the module name with
FMol.SmilesParser. implicitly puts it in the FMol.SmilesParser namespace.

Also, to sort out some terminology...I'm using 'element' for the part of the smiles
string which specifies the chemical element of the atom, and 'atom' as part of a
molecule that has bond(s) associated with it.

Finally, I've adopted the FParsec convention of naming parsers with a 'p' prefix,
'pelement' is an element parser.
Extract the ring closure, bond, atoms and branch parsers from SmilesParser.fs

...using the same process and reasoning as the previous commit
Renamed SmilesParser module & namespace
Organise the projects with some folders

I had to do it by editing the project files by hand because the F#
visual studio template doesn't support folders directly, but it seems
quite happy with them once they're created.
Rename the main smiles parser to match the convention of the other parsers
Rename the tests so that they match the renaming of the parsers in the main project