Fix #283: throwExceptions ="false" but Is still an error

Altered conditions in the MustBeRethrown extension method.

Fixed relevant tests and added a new one.
Revert "Fix #283: throwExceptions ="false" but Is still an error"

This reverts commit 437487264f685aa88232277cb4b4ec8730ebcef9.
Fix #403, #283: Application crash with autoreload=true and bad FileName (NLog 2.1.0.0)

Replaced `lock (this)` in the LogFactory because it may introduce deadlocks (http://stackoverflow.com/questions/251391/why-is-lockthis-bad)
Merge pull request #465 from YuLad/issue-283

Fix #283: throwExceptions ="false" but Is still an error