Changed Let to use variable instead of Lambda

Using Expression.Block to express let binding, which allowed support for
VarSet. Needed to changed Patterns.Sequential to use Expression.Block as
well.
Changed While loop to use Expression.Loop
Fix; while loop type was wrong for delegate

Not sure if this is the greatest solution; but works.
Implemented Patterns.ForIntegerRangeLoop
Moved the "Fix" of wrong delegate type

The While loop code was called from other places, so moved the addition
of the Unit type up to there.
Remove unnecessary ActionHelper/FuncHelpers

Documentation for Expression.GetActionType and Expression.GetFuncType
say they support arrays up to 16 & 17 respectively; so removed helpers
that duplicated such functionality.
pdate build script
Bump version to 1.0.2
Logo added
Merge remote-tracking branch 'upstream/master'
Basis of test suite framework

Taking samples from [rosettacode](http://rosettacode.org/)
Redesigned test suite framework, with timing tests
Added upper and lower bounds for time tests

These are very generous timings to say the least! The linq compiled
versions are 30 or some times worse! Lets see what we can do about
that...
Added some tests for basic operations

Operations on non-int types are abysmal!
Performance increase by allowing Primitives to use default comparisons
Added some tests for comparisons and casts
The pipe |> and <| have horrible performance

Added tests; now need to fix...
Use OptimizedClosures.FSharpFunc derived class

If Lambdas don't require capturing extra state, then create an instance
of a class that derives from OptimizedClosures.FSharpFunc.
Also captured state in the FuncFSharp object
Some expression tree rewriting for better compilation