Slicing a HyList makes the same kind of object again
Make empty macroexpansions do the right thing
Add a cons object and related mechanisms

Closes: #183
Merge master onto pr/471

Conflicts:
	hy/core/language.hy