Split load_fragment into a separate method
Remove unneeded nesting in build method
Move concatenate_fragments into a separate method
Fix bug with sides ending in Aryl groups
Make build method easier to read
Move connecting core groups to a method on Molecule

This includes converting the old Molecule.chain method into a more
general form for chaining any bond sets. The old chain method was
replaced with a new Molecule.polymerize method which uses the new chain
method.