Improved template method UML.

This commit fixes the following problems:
- protected methods marked as public.
- inherited operations that are not overriden are repeated.
- one method had an invalid parameter (see attached image).
- abstract class not indicated as such.

This commit improves the following aspects:
- I did not like how the classes were arranged, so went ahead and made
  some small chnges. I hope you don't mind the different distribution.
Merge pull request #9 from mafagafogigante/mafagafo-template-method-new-pic

Improved template method UML.
Update README.md
Changed the observer diagram.
Minor refactoring on the observer code.
Merge branch 'master' of http://github.com/iluwatar/java-design-patterns