Refactoring training context to support nested training.

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/proxy/branches/version-2.0-work@1509402 13f79535-47bb-0310-9956-ffa450edef68