Moved CommonExprVisitor to be with the rest of the common expressions
Moved ASTExprVisitor to be with the AST exprs.
Moved ILExprVisitor to be with the IL exprs
Shuffled AST node around a little
Added isAssignable() method to all Expressions.
Moved some code into AST node from the translator
Moved all of that state machine stuff to its own class.
Switched Java's PLEXIL arrays to a new, simpler class. 

Also added PValueList, which is a better fit for representing a PLEXIL
array in Java than what we had before.
Removed StandardValue class. It wasn't worth the confusion.
Renamed TypelessPlexilArray to make more sense
Pulled node interfaces back into their own class
Clarified some JavaDoc in PlexilInterface
Turned PValues into Expressions. 

PValueExpr and ArrayLiteralExpr were made redundant, so they
disappeared. Expression visitors are now told directly which one they're
getting.
Pulled out IL2Java classes into their own files.
IL2Java now knows how to do array indexes by itself
Merge branch 'refactoring'

Conflicts:
	src/edu/umn/crisys/plexil/ast/core/NodePrinter.java
	src/edu/umn/crisys/plexil/ast/core/PlexilPlan.java
	src/edu/umn/crisys/plexil/ast/core/node/Node.java
	src/edu/umn/crisys/plexil/ast/core/visitor/ASTExprVisitor.java
	src/edu/umn/crisys/plexil/ast2il/NodeToIL.java
	src/edu/umn/crisys/plexil/plx2ast/ExprParser.java
	src/edu/umn/crisys/plexil/plx2ast/NodeParser.java
So many changes... but now IL variables are simplified.
Removed some constants from library interface expressions
Reimplemented type analyzer.