hy/core/macros.hy: Add defn-alias / defun-alias

In the same vein as defmacro-alias, this implements defn-alias /
defun-alias, which does essentially the same thing as defmacro-alias,
but for functions.

Signed-off-by: Gergely Nagy <algernon@balabit.hu>
hy/core/macros.hy: Add an (if-not) macro

Sometimes it is better to start with the false condition, sometimes that
makes the code clearer. For that, the (if-not) macro, which simply
reverses the order of the condition blocks, can be of great use.

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
hy/core/macros.hy: Reimplement (unless) in terms of (if-not)

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
Adding a simple `identity' function

* hy/core/language.hy: Adding a simple `identity` function that returns
  the argument supplied to it

* docs/language/core.rst: Updated docs with identity function
Merge branch 'master' into pr/456
Merge branch 'master' into pr/461

Conflicts:
	tests/native_tests/native_macros.hy
Merge branch 'master' into pr/468
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