bird4: initial commit

this is mainly the bird6 modules slightly adapted to bird4.
tested, but production usage has to show if everything works
bird4: also exchange routes from dn42 and chaosvpn locally
bird4: do not add route to local mesh to table 42

as this interferes with the route added by the post-up
script of the mesh interface
bird4: remove additional blank line from generated local config
bird4: add new parameter depicting the whole ipv4 range of a community

as this might be different from the range used in the mesh. e.g. in hamburg
we use a /18 in the mesh whereas our range is /16.
bird4: update readme
bird: rename bird to bird4
bird: add common ressource for bird4 and bird6
icvpn: initial commit

use this if you want to have icvpn. ipv4-only or ipv6-only icvpn is impossible for the moment
bird6: rename files to avoid conflicts
icvpn: update readme
sshd: rate limit to 3 per 60s
routing: remove unreachable defaults from mesh table (42)

as we always have two rules (lookup mesh and unreachable) one after another,
the unreachable default route in the mesh table (42) shouln't be needed anymore
firewall4: first implementation of bcp38 ingress filtering

this has to be applied manually, as the firewall manifest does not
overwrite the 200-block-ranges file when puppet is re-run (change that?)

please note that this is a first version, not complete. We should
also implement this for incoming traffic on the vpn interface?
firewall6: first implementation of ingress filtering

TODO: also for ipv6 uplink...
Merge pull request #35 from ohrensessel/ease-routing

routing: remove unreachable defaults from mesh table (42)
Merge pull request #34 from ohrensessel/rate-limit-ssh

sshd: rate limit to 3 per 60s
Merge pull request #38 from ohrensessel/implement-bcp38

firewall4: first implementation of bcp38 ingress filtering
firewall: Move bcp38 ingress filter into own file
firewall: reinstate block ranges file