Python 2.x and 3.x support

New `depends_on :python` Dependency.
New `depends_on :python3` Dependency.

To avoid having multiple formulae with endings -py2 and -py3,
we will handle support for different pythons (2.x vs. 3.x)
in the same formula.
Further brewed vs. external python will be transparently supported.

The formula also gets a new object `python`, which is false if
no Python is available or the user has disabled it. Otherwise
it is defined and provides several support methods:

python.site_packages # the site-packages in the formula's Cellar
python.global_site_packages
python.binary # the full path to the python binary
python.prefix
python.version
python.version.major
python.version.minor
python.xy # => e.g. "python2.7"
python.incdir # includes of python
python.libdir # the python dylib library
python.pkg_config_path # used internally by brew
python.from_osx?
python.framework?
python.universal?
python.pypy?
python.standard_caveats # Text to set PYTHONPATH for python.from_osx?
python.if3then3 # => "" for 2.x and to "3" for 3.x.

Further, to avoid code duplication, `python` takes an optional
block that is run twice if the formula defines depends_on
:python AND :python3.

python do
  system python, 'setup.py', "--prefix=#{prefix}"
end

Read more in the Homebrew wiki.
superenv: Work if build tool changes DEVELOPER_DIR

Some build systems still set the DEVELOPER_DIR to /Developer
and then nothing works any more (xcrun, xcodebuild etc.)
I am looking at you MacVim.
tsung 1.5

Closes #20227.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
heroku-toolbelt 2.39.4

Closes #20221.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
MySQL Cluster 7.3.1

Closes #20214.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
cppcheck 1.60.1

Closes #20222.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
mercurial: XCode-only system py: Find Python.h

Fix #18517
depends_on :python Default to min vers 2.6 not 2.7

To support system python on OS X
brew-test-bot: skip unresolvable dependencies.
make erlang versions case-insensitive for bottles.
MacVim: Don't hardcode --with-macsdk

Instead only pass the --with-macsdk if on XCode-only.

Fix #20229
macvim: style
Remove empty test file

This breaks my test runner in weird ways.
Fix (Python) language dependency test

System python (for 2.x) does not provide `python2` binary.
So use `python` again.

For Python 3.x we still use `python3`.
mercurial: Style bit
gtk-doc: Needs libxml2 to be built --with-python

Fix #20150
libsass: silent version update

Closes #20230.
New terminal-notifier formula (first version, revision 3)

The `terminal-notifier` utility (analogous to Growl's `growlnotify` tool) offers a CLI for displaying Apple Notification Center messages.

To use the program as distributed, one must call the inner binary of an app bundle (due to a library-linking quirk the author notes, in https://github.com/alloy/terminal-notifier/blob/master/README.markdown) – this formula sidesteps this awkward mode of execution with an exec script (see L#15).

New terminal-notifier formula (with test code codoned off apropos its function, redundant calls removed, and adjusted syntax in respect of Homebrew code conventions)

Closes #18511.

Signed-off-by: Samuel John <github@SamuelJohn.de>
Libvirt 1.0.6

Closes #20220.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
Refactor Requirement.expand