[CHEF-2576] SmartOS support for Omnibus Chef

The SmartOS 1.8.4 release comes very modern packages, including
GCC 4.7, which is causing most of the trouble.

ncurses patches
===============
Pristine source tarball does not compile out of the box. The patch set
was taken directly from the pkgsrc, here:
http://ftp.netbsd.org/pub/pkgsrc/current/pkgsrc/devel/ncurses/patches/

Most of the patches are around the configure scripts and makefiles,
adding support for various platforms (openbsd for example), put a few
actually fix up some genuine bugs in the form of mis-matched function
prototypes that are choking the newer GCC.

I figured it was best to take the entire patch set wholesale instead
of cherry picking them to avoid confusion.

Ruby patches
============

rvm-cflags.patch
----------------
(and the configure flag) was taken from the RVM project to work around
a well documented problem with the Illumos fork of OpenSolaris:

http://bugs.ruby-lang.org/issues/5384
https://www.illumos.org/issues/1587
https://github.com/wayneeseguin/rvm/issues/719

Basically, it ships an old libelf.h that is causing problems.

This has apparently been fixed in Solaris 11, but I can't provide
links because the lawnmower ate them.

ruby-openssl-1.0.1c.patch
-------------------------
This patch was generated by me, and is needed to compile against the
newer OpenSSL. Like the ncurses patches from pkgsrc, it just fixes
mismatched function prototypes for the newer GCC.
[CHEF-2576] format/style changes
remove SmartOS specific ENV variables
ensure embedded ncurses wins in the LD search path

Creating this symlink ensures Omnibus-compiled embedded nurses wins when
the linker is looking for libcurses.so.1. In particular we are trying to
fake out the Ruby readline extension by letting -ltermcap resolve to
libcurses.so.1.
`--enable-overwrite` to force symlink from curses to ncurses