Improved reflection

See "samples/reflection.idr" for examples.

~~This currently breaks the effects lib, which uses the old provisional reflection capabilities. Therefore I've added a flag -f NoEffects which will exclude the effects lib from the build process.~~
The effects library is updated to work with the new syntax, but should be improved to make full use of it.