(update) Add freebsd compilation

- Previously, the patching command was relying on Solaris specific switches, and did not provide a way to apply platform specific patches. This PR uses GNU `find` as default patch listing, and provides platform specific patch location.
- The location of correct SHELL varies by platform (/bin/bash, /usr/bin/bash, /usr/local/bin/bash). This PR moves the definition of SHELL to platform specific makefiles
- Fixes openssl includes which forgets to copy md2.h to the correct include directory, and removes a patch which hacked around it.

- Adds makefiles supporting FreeBSD compilation for 10.0 RELEASE.
 * Since FreeBSD has a different errno location `<sys/errno.h>`, a patch is added to the build time cfacter patches to add this header file. This patch should be removed once cfacter incorporates the correct header file location for FreeBSD also.
 * FreeBSD also seems to suffer from the non-defined std::to_string problem
  https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52015
  http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20140609/107686.html
  Adds a build time patch to define a temporary solution. This should be removed once it is resolved.
- Adds a skeletal platform facts implementation for cfacter as a patch. This should be removed once it is added to the cfacter repository.