new adjustable finite liquid
Add emerge.cpp, initial EmergeThread changes

- Neatly placed all emerge related code into a new file, emerge.cpp
- Greatly cleaned up the code in EmergeThread::Thread()
- Reworked Emerge queue.  Now an actual std::queue of v3s16 block positions
- Removed the completely unnecessary map of peer ids requesting blocks
Add global and per-peer queue limits
Fix EmergeThread hang on exit
Add emerge queue limit configuration
Add multi-Emerge thread support
Misc. cleanup and minor fixes
Tune queue limits, some other adjustments
Fix most walled-off caves
Fix build on Windows
Fix selection of # threads, set default to 1 thread
Remove dead code, relocate some code
Merge pull request #482 from proller/liquid

finite liquid
Fix most warnings, re-fix MSVC compile error