adds an fallback for APPLICATION_DATA_DIRECTORY

as described in ticket TRUNK-3934: in some deployments using an application server such as Tomcat, we can not write to the current users home dir and instead should use a more generic and/or appropriate path
TRUNK-4228: SonarQube - Nullcheck of value previously dereferenced
TRUNK-4232: SonarQube - Write to static field from instance method
TRUNK-4222: SonarQube - Dead store to local variable
#TRUNK-4227: SonarQube - Correctness - Possible null pointer dereference
TRUNK-4171 Retired locations can be selected as a parent
Merge pull request #568 from tadeitto/TRUNK-4228

TRUNK-4228: SonarQube - Nullcheck of value previously dereferenced
Merge pull request #567 from tadeitto/TRUNK-4232

TRUNK-4232: SonarQube - Write to static field from instance method
Merge pull request #573 from jkondrat/TRUNK-4227

#TRUNK-4227: SonarQube - Correctness - Possible null pointer dereference
Merge pull request #550 from lrozanski/TRUNK-4222

TRUNK-4222: SonarQube - Dead store to local variable
TRUNK-4236: SonarQube - Redundant nullcheck of value known to be non-null
TRUNK-3293 Add error checking to relationship start/end dates on patient dashboard
Merge pull request #575 from lrozanski/TRUNK-4236

TRUNK-4236: SonarQube - Redundant nullcheck of value known to be non-null
TRUNK-2984 Improved UI for notiications
TRUNK-4226: Performance - Method concatenates strings using + in a loop
TRUNK-3751: Saying that a module requires OpenMRS 1.9.2-SNAPSHOT fails
Merge pull request #576 from jkondrat/TRUNK-3751

TRUNK-3751: Saying that a module requires OpenMRS 1.9.2-SNAPSHOT fails
Merge pull request #586 from tadeitto/TRUNK-4226

TRUNK-4226: Performance - Method concatenates strings using + in a loop
Doing some formatting
Adding missing space for: Performance - Method concatenates strings
using + in a loop - TRUNK-4226