Use a CFG analysis to insert Return None in the missing places

* This fixes Issue #77
* The CFG does not take into account interprocedural exceptions
Make test_random more robust

Increase the number of sampling when testing random generator
implementation, to avoid false negative.

Execution time is still reasonable compared to compile time ;-)
Workaround clang++ list constructor bad disambiguification

clang++ is not capable of resolving against the right constructor for

    core::list<empty_list>({ proxy::list{}() })

so help it a little.
Merge pull request #128 from pbrunet/master

Improve numpy array + bugfixes

- Perf&features improvements for array slicing
- Handle case of empty string + sliced string export to python
- Indexed_array
- Add dtype and T attributes to numpy array
- Many tests from rosetta and for numpy
Fix bug in a corner case of list slicing

Has exhibited by the fannkuch.py test case
Fix bug in while: else: backend implementation
Merge pull request #131 from serge-sans-paille/few-bugfixes

Few bugfixes in list slicing and while/else C++ backend
Merge pull request #130 from serge-sans-paille/return-insertion

Return insertion
Add missing specialization for scalar option types
WIP