Update .gitignore

- Ignores .log files created by npm
Update observer-engine.js

- Implemented basic behaviour for pattern matching
- Iteratively tries to match every pattern of available observer
  until the first matches, then saves interaction and stops