Add support for dotted members in sub-Atoms, plus and example demo

As explained in Issue #7, the original implementation was not working.  I tried adding this in `AtomMeta.__new__`, but I had an `AtomMeta` object, not an `Atom`.  Therefore, I had to move it to `Atom.__new__`.  Thankfully, the user can still override `Atom.__init__` without worry.  

The downside: Atom objects not needing this functionality have an extra class attribute, an extra method call in `__new__` and an empty iterator on the check for `_dotted_observers`.

Also, there is an example demonstrating the functionality.