portmidi: Version 217, Java & Python optional.

- with-python: Proper Python bindings that ship with portmidi
- Fixes CMAKE_OSX_SYSROOT location

Note, JAVA SDK has to be installed separately on Macs,
therefore: opt-in!

Closes #16577.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
mutt: make thread/sidebar patches mutually exclusive

Fixes #16461.
Closes #17182.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
rds-command-line-tools: use versioned download

Closes #17190.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
node 0.8.18

Closes #17193.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
libpurple: add libgcrypt as a build-time dep so that finding gnutls works

Closes #17187.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
NZBGet 9.1

Closes #17188.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
curl-ca-bundle 1.87

Closes #15760.
New formula: git-flow-clone

Closes #16194.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
pbc: fails with clang

Fixes #17112.
mdxmini 20130115
clasp 2.1.1

Closes #17170.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
Clean up Tab creation
Move option comparison into BuildOptions
Options can be used interchangeably with Strings

We want to be able to use Option objects in place of strings and have
this be transparent. Defining to_str means that methods like
Kernel#system and Kernel#exec will be able to perform an implicit
conversion.
Options can be dumped as JSON
BuildOptions: simplify setting description
BuildOptions: check has_option? for universal and 32-bit
Refactor option handling internals

Currently we handle options in several ways, and it is hard to remember
what code needs an option string ("--foo"), what needs only the name
("foo") and what needs an Option object.

Now that Option objects can act as strings and be converted to JSON, we
can start using them instead of passing around strings between Formula
objects, Tab objects, and ARGV-style arrays.

The Options class is a special collection that can be queried for the
inclusion of options in any form: '--foo', 'foo', or Option.new("foo").
Move BuildOptions to a separate file
Tests for BuildOptions