Factor out duplicated code

[#57611752]
Merge 57611752-code-climate to master

[Completes #57611752]
Fix memory warnings

The "close to default" warning now ignores the stack size which is
usually the default size.

The memory wastage warning should take into account the case where
native memory is bounded above.

The wastage warning message wording is improved.

[#58971702]
Merge 58971702-fix-memory-warnings to master

[Completes #58971702]
Delete extraneous focus

[#58971702]
Merge 58971702-remove-focus to master

[Completes #58971702]
Add test fixture for Play 2.2.0

[#58432326]
Factor out PlayApp class

PlayApp encapsulates the Play-version specific details of a Play
application including the difference in structure between a dist and
a staged application.

[#58432326]
Tighten up Play version parsing

[#58432326]
Use PlayApp rather than PlayUtils

Also tighten up the naming requirements for the Play JAR.

[#58432326]
Introduce a PlayApp factory class

[#58432326]
Basic tests of PlayApp

[#58432326]
Rename PlayApp to PlayAppPre22

[#58432326]
Introduce abstract superclass of Play application classes

[#58432326]
Introduce Play 2.2 application class

[#58432326]