Fix some races in forced eviction:

* only try to force eviction of ordinary pages in memory
* lock the page before trying to queue it for forced eviction
* protect the cache flags with evict_lock in the eviction server
Don't deadlock just because a checkpoint is in progress.
Push the logic about skipping leaf or internal pages into the walk call.
This allows the interal checkpoint phase to skip over busy leaf pages.
refs #418
Merge pull request #429 from wiredtiger/evict-force-mjc

Some fixes and enhancements to forced eviction