Bug 126414 [Commands] handlers: Provide help context ids
For commands and handlers to replace actions, they need to be capable of providing help context identifiers. For an example, see OpenResourceHandler in org.eclipse.ui.ide. This help context id will need to be definable through XML and through code.
bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/Command.java
* @return <code>true</code> if the handler changed; <code>false</code>
	 *         otherwise.
	 */
	public final boolean setHandler(final IHandler handler) {
		if (Util.equals(handler, this.handler)) {
			return false;
		}
		
		final String[] stateIds = getStateIds();
		if (stateIds != null) {
			for (int i = 0; i < stateIds.length; i++) {
				final String stateId = stateIds[i];
				if (this.handler instanceof IObjectWithState) {
					((IObjectWithState) this.handler).removeState(stateId);
				}
				if (handler instanceof IObjectWithState) {
					final State stateToAdd = getState(stateId);
					((IObjectWithState) handler).addState(stateId, stateToAdd);
				}
			}
		}
		
		this.handler = handler;
		string = null;
		
		if ((DEBUG_HANDLERS)
				&& ((DEBUG_HANDLERS_COMMAND_ID == null) || (DEBUG_HANDLERS_COMMAND_ID
						.equals(id)))) {
			final StringBuffer buffer = new StringBuffer("Command('"); 
			buffer.append(id);