Merge pull request #25 from mausch/master

ToString for Choice
Add a specific traverse instance with short-circuit.
Replace Default <*> implementation for State.

Replaced with a specific implementation.
It speeds up a bit.
Here are some benchmarks with zipIndex from https://github.com/gmpl/FsControl/issues/22

--> Timing now on (Specific implementation)

>  zipIndex [1..10000] ;;
Real: 00:00:00.044, CPU: 00:00:00.046, GC gen0: 1, gen1: 0, gen2: 0
Real: 00:00:00.024, CPU: 00:00:00.031, GC gen0: 1, gen1: 0, gen2: 0
Real: 00:00:00.021, CPU: 00:00:00.015, GC gen0: 1, gen1: 0, gen2: 0

--> Timing now on (Default implementation)

>  zipIndex [1..10000] ;;
Real: 00:00:00.057, CPU: 00:00:00.062, GC gen0: 1, gen1: 0, gen2: 0
Real: 00:00:00.037, CPU: 00:00:00.031, GC gen0: 1, gen1: 0, gen2: 0
Real: 00:00:00.037, CPU: 00:00:00.031, GC gen0: 1, gen1: 0, gen2: 0
Create LICENSE

From Apache v2 Template.
Rename LICENSE to LICENSE.md
Add ArrowPlus.
Merge pull request #29 from otf/ArrowPlus

Add ArrowPlus.
+ Dummy overload to ArrowZero and ArrowPlus.
We need at least 2 instances.
- Not referenced functions.
+ Operators module.
This module is not automatically opened and it presents common function and operator definitions.
splitBy implemented with a loop (again)
After testing there is definitely a performance penalty with the recursive version.
If this is optimized in futures version of F# we'll go back to the recursive version.
SplitBy renamed to GroupAdjBy.
Some ...M functions refactored.
+ Lazy