Implemented vector element indexing and vector building in expression parser and evaluator.
Enable vector index ranges in the form var[a:b]
Truncate or zero-pad vector signals as appropriate in bypass mode; default to bypass mode for connections between signals with unmatched vector lengths.
Run last typecasting check at end of expression parsing.
Allow use of vectors in vector-builder e.g. [x[1:3],0,0]. This requires tracking arity and vector-length of TOK_VECTORIZE separately.
Fixed problems with operators or functions inside vector-builder - necessitated tracking dimensionality of stack in evaluator. Modified printtoken() function to mark tokens with locked vector-lengths, and added debug printing to vectorization in evaluator.
Define default expressions for unmatched vector lengths - truncation or zero-padding.
Merge branch 'master' into vector-indexing
Expression parsing: fixed problem distinguishing between variable vector-indices and standalone vector syntax; fixed vector-length promotion.
Merge branch 'vector-props2' into vector-indexing

Conflicts:
	src/connection.c
	src/expression.c
Expression parser: Fix references to old variable identifiers.
Expression parser: fix typecasting.
Expression parser: fix bug in vectorizer when type is int or double.
Adapted testparser for testing multiple expression strings.
Expression parser: fixed typecasting bug.
Expression parser: simplified vector-length and type checking/promotion.
Cleaned up testparser and added more test expressions.
Adapted connection code to correctly generate default expressions for linear and calibrate modes.
Expression evaluator: moved for() loops inside switch() for efficiency processing vector signals, also use preprocessor to enable/disable debug output. Speedup of approx 100% on testparser.
Added vector functions all() and any(), expanded and cleaned-up testparser.