Move while stmt from block stmt 2 keywords to other.

Make while an other keyword (c-other-kwds) in emacs major mode instead of block
stmt with 2 keywords (c-block-stmt-2-kwds). Before this change, the indentation
for the block of while loops that did not surround the conditional in
parenthesis was broken.
Add runtime support for the upcoming string implementation.

runtime/include/chpl-mem-desc.h:
  Add new memory descriptor types STRING_INIT_DATA and STRING_COPY_REMOTE.

runtime/include/chpl-string.h
runtime/src/chpl-string.c:
  Add new support functions.

  - initString() takes 2 strings, old and new.  If old is longer than
    new, it copies new into old and returns old.  Otherwise, it frees
    old and allocates space for a copy of new.  I'm not crazy about
    this name, so any suggestions are welcome.

  - remoteStringCopy() takes a remote node id, remote address, and
    string length.  It allocates space for the remote string and
    copies the string from the remote locale.

runtime/src/chpl-string-support.c:
  Removed incorrect comments regarding the use of the string literal "".
Merge branch 'master' of github.com:chapel-lang/chapel into record-string
Rename and change functionality of runtime function for allocating a local string.

I never liked the name initString, but I found a better name for it
due to restructuring the functionality.  It's now called stringMove(),
which copies the len bytes of src into dest and returns dest.  If dest
is "", then it allocates a new buffer for the copy, and returns that
buffer.  It is the caller's responsibility to make sure the src is
large enough to hold dest.

This puts the buffer reuse policy into the new string module.  Note
that the allocation must be done in the runtime since there is no way
to call chpl_here_alloc() from the runtime.
Updating comment on stringMove().
New string record.
Merge branch 'master' of github.com:chapel-lang/chapel into update-while-stmt-in-emacs-mode
Copy etc/emacs/23/chpl-mode.el to etc/emacs/.
Remove version specific chpl-mode.el files. They were identical.
Create symlinks for emacs/{22,23}/chpl-mode.el to preserve backwards compatibility.
Making tcmalloc the default when compatible with host compiler
Update etc/emacs/README with correct information.
rst-ify etc/emacs/REAME
Using target compiler instead of host compiler
Fix formatting of directory index.
Reference both .emacs and .emacs.d/init.el files.
Properly escape text snippets for monospaced font-ing.
Simplifying logic
Build fewer LLVM components to speed compile

This patch significantly reduces the build
size and the build time. It omits some LLVM
and Clang components we don't use and only
builds host and x86 and x86-64 backends.

Used to take 23 minutes, now takes 18 minutes
to CHPL_LLVM=llvm time make on my machine. In
addition, llvm/build is now 8G (was 12G)
and llvm/install is now 4.6G (was 5.8G).
Merge branch 'master' of github.com:chapel-lang/chapel into record-string