A CodeReader simply contains a char[] and the name of the file, if any,
that the char[] is the contents of. This leads us down the path of using
char[]s in the parser instead of Strings in an attempt to cut down on
our memory usage.
<BR> Fixed https://bugs.eclipse.org/bugs/show_bug.cgi?id=55785.
<BR> Fix required update to ISourceElementRequestor interface : clients updated accordingly.
<BR>
<BR>org.eclipse.cdt.core.tests
<BR> Updated clients for ISourceElementRequestor.createReader() updates.
<BR>
<BR>org.eclipse.cdt.ui
<BR> Updated CompletionEngine to use shared working copies when parsing include files.
<BR> Updated clients for ISourceElementRequestor.createReader() updates.