Adding test cases for each node that has been migrated.
Merge branch 'ChocoButter-2Become1' of https://github.com/DynamoDS/Dynamo into ChocoButter-2Become1
add test case for random, fix a bug of random node.
add test cases for list, fix a bug for reduce.
Merge branch 'ChocoButter-2Become1' of https://github.com/DynamoDS/Dynamo into ChocoButter-2Become1
revert
revert
change the test case
change the list implemetation
Merge branch 'ChocoButter-2Become1' of https://github.com/DynamoDS/Dynamo into ChocoButter-2Become1
change the implemetation of remove node
fix a test case
Merge branch 'ChocoButter-2Become1' of https://github.com/DynamoDS/Dynamo into ChocoButter-2Become1

Conflicts:
	src/Libraries/CoreNodes/List.cs
revert
Handle empty ast lists

1. Empty ast lists must be handled by the liverunner. these can happen
when an empty codeblock is propagated to LR
2. Handle multi-assignment single line expressions prior to ssa
transform (a=b=1 must be split)
3. Testcases for multi-assignment single line expressions and empty ast
Use FFITarget for testcase
Add unit test cases for migration of each node.
change the var name in the test cases
Split class heirarchy traversal in 2 passes

1. Traverse the immediate base class in a first pass
2. Traverse all the base classes in the the class hierarchy in a second
pass
3. Test cases for 4-level class hierarchy
Merge pull request #1280 from junmendoza/PeanutButter

Handle empty ast lists