Rewrite DiscreteHedging.java with faster execution speed

- Rewrite DiscreteHedging.java example using SWIG director for callback
  and SWIG "boost_shared_ptr.i" to wrap the boost::shared_ptr<T> obj in
  MonteCarloModel class

- Execution time is 28sec while the previous code is 44sec

- Modify the following SWIG interface files to support my java code:
  1. quantlib.i: add (directors="1") to enable the directors feature
  2. randomnumbers.i: add PseudoRandomMT class
  3. montecarlo.i: add PathGeneratorPseudoRandom, PathPricerPath and
     MonteCarloModelSingleVariatePseudoRandom classes

- BTW, a warning pop out when generating swig wrapper because the name
  "shared_ptr" in SWIG "boost_shared_ptr.i" crashes with the one defined
  in "common.i". Anyway it won't affect the compilation.