Draft translations - save translations and resume from dashboard

* Translations can be saved as draft before publishing.
* Saved translation can be restored from the dashboard.

* Modified ApiQueryContentTranslation to get a specific
  translation with draft content if translation id is passed.
  But I see a possibility of an API dedicated to drafts when
  we start supporting deleting.

Saving translations:
* Instead of publish button a save button will be shown. Once
  saved, the button changes to Publish
* Once published if translator changes anything, Save button activates
  again
* Control+S shortcut is remapped to Save feature from Publish feature
* Non-empty sections from translation column alone saved as draft content.
* The HTML DOM will reflect all translation workflow state trackers
  such as progress information, MT/Human/Source annotations
* Translation id is reused as draft id as well.
* There is only one version of draft at any time - latest version
* Translation drafts are not connected to translators. Same is the case
  of translation. For a given source-target language pair and source
  page, there exists only one translation. Only one draft exists.
  This means, for that pair somebody else can overwrite others drafts.
  This need to be addressed later.

Resuming translation:
* In translation view, if draft id is passed as URL parameter, the draft
  content will be loaded and aligned using a best try approach: by matching
  data-source attributes. If no match found, skip.
* Translation dashboard's translation listing provides a link to resume translations

The draft feature will be disabled, if the CX common database is not configured.
The save button will not be presented in that case. There is no translation
listing either when common database not configured.

Change-Id: If97c80f6df69dab9eac68faf7d9a4fc0097df837