TRUNK-4445 Added support for custom dosing type for DrugOrders. Changed ...

...the current dosing type enum to a string, while keeping the support for SIMPLE and FREE_TEXT dosing types using constants.
DrugOrderValidator also now takes care of checking for SIMPLE, FREETEXT and null dosing types, any custom dosing types would require their own validation. 
Why do we need those? What's the scenario where someone needs to do

    drugOrder.setDosingType("org.openmrs....SimpleDosingInstructions")

instead of

    drugOrder.setDosingType(SimpleDosingInstructions.class)

?