first cut IP range validations

- Fixed the existing 'ip_address' validation. It used to look for only
first four octets.It used to accept IPs like 192.168.100.100/33/33 ,
192.168.100.100/33 etc. Added more strict validation using regex.

- Added a new schema element type 'ip_address_range'. The valid values for
this type are -
* singleIP address
* CIDR
* valid IP range separated by '-'.
* alphabetical values like 'any','internal' and 'external'.
Added validations for above acceptable values.
using IPAddr library for IP/CIDR validations
removed unused regex
checking if ip is ipv4
using IPAddr to compare ips
changing context title to match rest
making idempotency checks easy

@mikepea's suggested that idempotency checks easy if we can accept
dest_ip/ source_ip in  same format as API. This would help us avoid
tranlation back-forth
Merge pull request #132 from alphagov/ip_range_validation

[#64583754] (first cut) IP range validations