fix for #36: account for nested `.publish()` invocations and dequeue all queued `.unsubscribe()` calls which occurred during that time.
- reversed order of execution for subscribers: last to first

- added check to ensure that each subscription definition instance can only exist **once** in each channel/topic subscription list: when a definition instance is re-registered via .subscribe() then it will be moved to the end of the list, i.e. will execute first when invoked by .publish() as we changed the order of execution from first-to-last to last-to-first.

Both edits together, plus the existing withConstraint feature, allow us to implement subscribers which 'consume' messages, e.g. the first (last registered) subscriber which is actually capable of handling the given message can now flag the context to prevent subsequent (older) subscribers from receiving the message (if a suitable withConstraint function has been provided, of course).
Merge branch 'issue-36'

Conflicts:
	example/standard/js/postal.js
	lib/postal.js
whitespace police raid
gitignore editor bak files + gitattributes to enforce UNIX LF on any platform and regardless of dev tools (editors) used.