BUGFIX: Make HTF return the exit code to the OS / Loosened version constraints

Part 1 (Bugfix)
---
HTF wasn't returning the exit code to the OS. So `cabal test` couldn't realize that tests have failed. That's now fixed.

Part 2 (loosened cabal version constraints / bumped version)
---
This removes some cabal warnings (HTF indirectly depends on multiple versions of the same) and let's HTF now build with the newest versions (from hackage) of all packages it depends on.

Part 3 (Proof HTF still works / even works better)
---

    $ cabal test
    Running 3 test suites...
    Test suite TestMisc: RUNNING...
    Test suite TestMisc: PASS
    Test suite logged to: dist/test/diplomarbeit-0.1-TestMisc.log
    Test suite TestF2Pow256: RUNNING...
    Test suite TestF2Pow256: PASS
    Test suite logged to: dist/test/diplomarbeit-0.1-TestF2Pow256.log
    Test suite TestDARE: RUNNING...
    [TEST] Main:simpleDARE (Test/TestDARE.hs:78)
    +++ OK
    
    [TEST] Main:complexAddDARE (Test/TestDARE.hs:82)
    +++ OK
    
    [TEST] Main:complexDARE1 (Test/TestDARE.hs:88)
    +++ OK
    
    [TEST] Main:complexDARE2 (Test/TestDARE.hs:94)
    +++ OK
    
    [TEST] Main:dareAddDAREConstants (Test/TestDARE.hs:109)
    Passed 100 tests.
    +++ OK
    
    [TEST] Main:dareAddConstants (Test/TestDARE.hs:120)
    Passed 100 tests.
    +++ OK
    
    [TEST] Main:dareAddVarsAndConstants (Test/TestDARE.hs:133)
    Passed 100 tests.
    +++ OK
    
    [TEST] Main:dareAddAndMulVarsAndConstants (Test/TestDARE.hs:158)
    Passed 100 tests.
    +++ OK
    
    [TEST] Main:dareAddAndMulVars (Test/TestDARE.hs:185)
    Passed 100 tests.
    +++ OK
    
    [TEST] Main:dareAddConstants2 (Test/TestDARE.hs:197)
    Passed 100 tests.
    +++ OK
    
    [TEST] Main:dareMulConstants (Test/TestDARE.hs:212)
    Passed 100 tests.
    +++ OK
    
    [TEST] Main:dareMulConstantsTimesElement (Test/TestDARE.hs:229)
    Passed 100 tests.
    +++ OK
    
    [TEST] Main:dareMulVarsPlusElementTimesElement (Test/TestDARE.hs:245)
    Passed 100 tests.
    +++ OK
    
    [TEST] Main:dareMulConstantsPlusElement (Test/TestDARE.hs:263)
    Passed 100 tests.
    +++ OK
    
    [TEST] Main:constantDareTimesElements (Test/TestDARE.hs:273)
    Passed 100 tests.
    +++ OK
    
    [TEST] Main:failedSample (Test/TestDARE.hs:281)
    +++ OK
    
    [TEST] Main:failedSampleReplay1 (Test/TestDARE.hs:301)
    Passed 100 tests.
    +++ OK
    
    [TEST] Main:failedSampleReplay2 (Test/TestDARE.hs:305)
    Passed 100 tests.
    +++ OK
    
    [TEST] Main:failedSampleReplay3 (Test/TestDARE.hs:309)
    Passed 100 tests.
    +++ OK
    
    [TEST] Main:failedSampleReplay4 (Test/TestDARE.hs:313)
    Passed 100 tests.
    +++ OK
    
    [TEST] Main:failedSampleReplay5 (Test/TestDARE.hs:317)
    Falsifiable (after 66 tests and 9 shrinks): 
    
    [... LOTS OF DATA ...]
    
    Replay argument: "Just (617111965 1336516045,65)"
    *** Failed! 
    
    [TEST] Main:dareMulConstantsTimesElements (Test/TestDARE.hs:330)
    Passed 100 tests.
    +++ OK
    
    [TEST] Main:dareEncryptedMulConstants (Test/TestDARE.hs:361)
    Passed 100 tests.
    +++ OK
    
    * Tests:    23
    * Passed:   22
    * Pending:  0
    * Failures: 1
    * Errors:   0
    
    * Failures:
      * Main:failedSampleReplay5 (Test/TestDARE.hs:317)
    Test suite TestDARE: FAIL
    Test suite logged to: dist/test/diplomarbeit-0.1-TestDARE.log
    2 of 3 test suites (2 of 3 test cases) passed.