Add support for None is [not] None
Add optional type returning
Add test
Refactor `is` and `is not` to handle all types
Clean up
Merge branch 'master' into optional_type

Conflicts:
	numba/targets/builtins.py
	numba/typeinfer.py
Merge branch 'fix_ambiguous_overloading' into optional_type
Make optional type works as argument
- add optional type coercion to its base type
- to_native_value(optional_type)
Allow types to be casted to optional(type)
Revert "Merge branch 'fix_ambiguous_overloading' into optional_type"

This reverts commit 983337512a8299f08f4028f637340f5538bfde24, reversing
changes made to 68af9d83323fcffca8214058306d507ded96cc8a.
Allow Overloaded objects to be bound methods.
Add unit tests for assertPreciseEqual
Merge branch 'cmath_support' into test_support
Improve checking equality of complex numbers in non-exact mode, and fix some cmath implementations
Support signed zeros
Add tests for inexact comparisons
Merge branch 'master' of github.com:numba/numba into test_support
Merge branch 'master' into optional_type

Conflicts:
	numba/compiler.py
	numba/typing/templates.py
Add inexact comparison tests for complex numbers
Support optional(types) for arguments and values