Fixed FunctionNeverReturnsIssue

The example
```csharp
string Foo(int x) {
   if (x <= 0) return "Hi";
   return "_" + Foo(x - 1);
}
``´

is now handled correctly.
The problem was that the program considered block statements to be recursive if *anything* in them was.