Accept strings as top-level expressions
Allow atoms (integers, booleans, symbols) as top-level expressions
Handle float and complex constants in addition to integer
Fixed typo in test_lex.py
Fixed typo in test_lex.py
Handle float and complex constants in addition to integer
Tests for float and complex constants
Fix names of methods compile_float and compile_complex
Implement :keyword support

This implements keywords, ":" prefixed symbols that are able to look
themselves up in a collection. They're internally stored as strings that
start with "\ufdd0".

This fixes #22.

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
tests: Test that keywords do not clash with normal strings

Signed-off-by: Gergely Nagy <algernon@balabit.hu>
Merge branch 'lexer_extensions' of git://github.com/khinsen/hy into pr-98
Merge branch 'f/hy.models.keyword' of git://github.com/algernon/hy into pr-101
Merge branch 'float_and_complex' of git://github.com/khinsen/hy into pr-109
Style fixes; function declashing.
Adding in the new models.
Merge remote-tracking branch 'khinsen/float_and_complex_2' into paultag/master

Conflicts:
	hy/lex/states.py
	tests/lex/test_lex.py