Use GlobalSettings by default for AssetsBuilder (fixes #2919)

- call global `onHandlerNotFound` when asset can’t be found
- also factor out `onBadRequest` and `onError`
- make these three error handlers `protected` so that their behavior can be overridden.
- correct AssetsSpec test for 404
  - (the body will be non-empty by default as the framework default 404 page will be returned)
- make AssetBuilder methods private not protected
  - (correction following discussion https://github.com/playframework/playframework/pull/3377#discussion-diff-17222264)