Added CmpNat view and fixed type of take/drop

In general, it works better to have a function on input types rather
than output types. The CmpNat view can be used to get inputs to
Vect.take and Vect.drop into the right form.
Merge branch 'master' of github.com:idris-lang/Idris-dev
Remove reg008

Functions its testing is now part of the library
Remove unnecessary test
Add explicit -DHAS_PTHREAD

...until someone works out how to do this properly in cabal.