Fix Arbitrary instance for FingerTree

The previous version never generated deep trees containing Empty.
Also tweaked the size handling so that the tree size is closer to the
specified size (though it can still run over a bit).
Merge pull request #108 from RossPaterson/master

Fix Arbitrary instance for FingerTree