Undoing a convervativity restriction in the cardinality analyzer.
Cleaned up function definition generation and moved it in its own file.
Implemented a cleaner version of the 'return a local' optimization.
Making sure the auto_map transformation does not induce extra copying.
Small testcase for returned arrays.
AutoLUT improvements:

 - Implemented missing case of AutoLUT for expressions returning
   complex numbers.

 - Fixed correct packing of index variables by masking over their
   bitwidth

 - Removed old stale files for testing autolut and started a new
   directory (just one test for the moment)
Merge branch 'release' of github.com:dimitriv/Blink into performance