Remove Molecule::changed() emissions from QtGui::Molecule.

The add/remove functions were automatically emitting the
changed() signal, however, methods like Atom::setPosition3d(),
etc don't emit the signal. This resulted in an API where the
changed signal must sometimes be called explicitly, but not
others.

After this patch, all changed() notifications must be explicitly
emitted by the algorithm that is modifying the molecule. This
approach is self-consistent and will scale better to large
molecules/modifications.

Change-Id: Ica634bb5862a96f1a36a6d15ed8cc0699d96b79e
Extend PeriodicTableView with setters/getters for current element.

Change-Id: I84776e5af713d338a7f470ce2d8659ab1015c3f6
Add ToolPlugin API.

Change-Id: I1086161bc01c1027481ba6e57337166c885232a2
Port existing tools to the ToolPlugin API.

Change-Id: I7da1cf677fa9d914b7966b6320f8b3f7f3dbb1f0
Merge topic 'editor' into master

3500a1d1 Port existing tools to the ToolPlugin API.
fbcab500 Add ToolPlugin API.
bab926b9 Extend PeriodicTableView with setters/getters for current element.
70dbd5fb Remove Molecule::changed() emissions from QtGui::Molecule.