This function parses, evaluates and returns the string given as its
  first argument. If it can't, the argument itself is returned. Use of
  evalOrEcho to process arguments inside a function can make for
  more flexible code.
evalOrEcho(x, resultMode = NULL, n = 0)a string or other object to attempt to parse and evaluate.
a string or NULL.  If non-NULL, the evaluation of x is
	considered to have failed if the resulting object is not of this
	mode.
parent generations to go back.  The evaluation is attempted in the
	enviroment specified by parent.frame(n) (of the caller).
If x is successfully parsed and evaluated, and its mode matches
  resultMode (if supplied), the resulting object is returned.
  Otherwise, x itself is returned.
Using this function inside another function to process some of its
  arguments can be very useful.  For example, tisPlot has a
  number or arguments that specify text labels for headers, subheaders,
  footnotes, axis labels, and so on.  One of those arguments is
  sub, which specifies the subheader.  By doing this:
sub <- evalOrEcho(sub, resultMode = "character")
tisPlot can handle the sub argument given in any of
  these forms:
sub = "This is a simple subtitle".
sub = c("this is a two", "line subtitle").
sub = 'c("this is another", "two line subtitle")'.