Support wrong value types in split() filter

If a type passed to split() is not a string, it will be returned in
a list as-is (for example, [False]). Similarly, if split() cannot split
a string by specified separator, string will be returned as-is in
a list.
Don't convert !public IPv4 addresses to 6to4

IPv4 private address use in 6to4 network is undefined. To make it easier
in autoconfiguration, if private IPv4 address is specified as a value to
convert, return False instead. This can be used to check if a given IP
address can be used as 6to4 address.
Return proper 6to4 subnet instead of 6to4 address

With IPv6 there's no point in using single IPv6 addresses, so instead
'6to4' query in ipaddr() filter will return correct IPv6 /48 subnet for
specified IPv4 address. It can then be manipulated easier this way.
Add support for IP indexing in ipaddr() filter

If you specify a positive or a negative integer in an ipaddr() query, it
will be interpreted as an index and filter will return an IP address at
the specified index. Positive numbers count from the start of the
address range, negative numbers start from the end of the address range.
If index is out of range, False will be returned instead.
Update CHANGELOG.rst
Merge pull request #33 from drybjed/more-filter-updates

More fun with filter updates