don't use predictable temp files in ob-screen

* lisp/ob-screen.el (org-babel-screen-session-write-temp-file):
  Unpredictable temp file name, fixes bug 17416.
Rewrite `org-indent-line'

* lisp/org.el (org--get-expected-indentation,
  org--align-node-property): New functions.
(org-indent-line): Use new function.  Also merge functionalities with
`org-src-native-tab-command-maybe'.

* lisp/org-src.el (org-src-native-tab-command-maybe): Remove function.

* testing/lisp/test-org.el (test-org/indent-line): New test.
Rewrite `org-indent-region'

* lisp/org.el (org-indent-region): Update function according to recent
  `org-indent-line' change.  Optimize it.

* testing/lisp/test-org.el (test-org/indent-region): New test.
Rewrite `org-indent-drawer' and `org-indent-block'

* lisp/org.el (org-indent-block, org-indent-drawer): Rewrite functions.
ob-screen, use unpredictable temp file name

* lisp/ob-screen.el (org-babel-screen-test): Use unpredictable name
  for temporary file.
Make superscripts produce a ^ in the output, instead of _

	* ox-ascii.el (org-ascii-superscript): Change _ to ^ in the output.

Reported by Suvayu Ali: http://thread.gmane.org/gmane.emacs.orgmode/86014