Firewall update

Complete rewrite of firewall provider. Argument changes in Fog firewall requests resulted in exceptions. Switched to using Fog model.

Some changes made:
   * better options to specify allowed ports
   * why run support
   * additional error handling
   * target tags
   * documentation examples