Made run-mode auto-detection customisable.

This allows users to compliment or override the default logic used to
determine the run-mode (ie. dev/test/staging/etc) in absence of a
"run.mode" system variable.

An example use case would be a user using test framework that Lift
doesn't know about, and it undesirably running in development mode.
Use test run-mode when running tests from ScalaTest or IDEA.