Simplify ClosableLazy

* Fix the type annotation so that null is a subtype of T
* Use a closure to handle closing rather than a special member type
Prevent ClosableLazy deadlock when get is called during close

Fixes #2986.
fix deprecation warnings in build files
Fix JSON media type

As defined in RFC 4627:
"The MIME media type for JSON text is application/json."
playVersion is not a setting, at least not in metabuild
Merge pull request #3005 from fernandoacorreia/application-json

Fix JSON media type
Merge pull request #3006 from OlegYch/patch-1

playVersion is not a setting, at least not in metabuild
Add Silhouette module
Update links in repo README
Merge pull request #3007 from cchantep/fix-3007

Documentation link is broken on home page
Anorm refactoring
Update to twirl 1.0.1
Merge pull request #2959 from cchantep/anorm-refact

Anorm refactoring
Merge pull request #3011 from pvlugter/twirl-1.0.1

Update to twirl 1.0.1
Merge branch 'fix-warning-build-file' of github.com:xuwei-k/Play20
Merge pull request #2993 from richdougherty/closable-lazy-deadlock

Simplify ClosableLazy and prevent deadlock
avoid constructing unnecessary objects
Fix statement preparation in batch (No longer use SqlQuery at batch creation)
Merge pull request #3016 from cchantep/fix-3016

Anorm BatchSql throws an error when executed since Play 2.3
Merge pull request #3018 from yanns/ws-mini-fixes

avoid constructing unnecessary objects