Add options parameter to brew module.

Adds additional support for the many brew packages that can be installed with options. Brew itself however does not handle the reinstall process if you want to change the options after install. Brew currently forces you to do an uninstall followed by a install.

I imagine that we could automate the updating of options as the `brew info <pkg name>` command does contain info about what the last install options were. However parsing that and comparing to the state options is a bit much for me to take on right now.
Fix doc formatting in brew.
state.py: top -> top_, to avoid shadowing the func
state.py: high -> high_, to avoid shadowing the func
improve var naming in socket_util.IPv4Address init
Merge pull request #5133 from hulu/state-top-shadowing

state.py: top -> top_, to avoid shadowing the func
Merge pull request #5134 from hulu/state-high-shadowing

state.py: high => high_, to avoid shadowing the func
Merge pull request #5135 from hulu/socketutil-var-naming

improve var naming in socket_util.IPv4Address init
meow?
Note that brew will silently ignore unrecognized options and pass any recognized option to every package.
Added NetBSD support to _hw_data
Merge pull request #5140 from iMilnb/develop

Added NetBSD support to _hw_data
Can't serialize pydev/stateconf, start on #5055
Fix #5055
Add pydsl runtime test per #5055
fix pydsl test
Fix minor file.recurse doc error

This minor doc error got me stuck for a few more minutes than it should have, better fix it.
Merge pull request #5141 from jasonrm/doc-file-recurse

Fix minor file.recurse doc error
Added the bridge module, for gathering and managing bridging informations on GNU/Linux and NetBSD
Added \n's after CLI Example like other modules