adding type checking for flatten

The current version of flatten will silently fail for a dictionary
or a generator, now flatten checks for list or tuple
Modifying `mapcat' to work on generators
Introduce setup.py to convert this as library
Files to ignore
rename library as dash
Manually specify the package name and hy files to include
Rename the dash.hy  to core.hy
Import the functions and macro's from the core
updated gitignore file