A couple of fixes for cygwin/gcc

- Enable out of source build
- Add missing dependency of libcrypto on libz
Fix issue.1 in ROOT-5644
Add another dependency on libz for cygwin/gcc
fix for MacOS Mavericks: string is not loaded by default
  o RooNLLVar

    - For binned likelihoods, request calculation of all cached pdf value (including those corresponding to zero-weight events)

  o RooAbsOptTestStatistic

    - In constant-term optimization request cached calculation of pdf values corresponding to zero-weight events
      whenever a binned likelihood is encountered

  o RooAbsDataStore, RooAbsData

    - Add argument to recalculateCache() and cacheArgs() to request request calculation of all cached pdf value
    (including those corresponding to zero-weight events)

  o RooCompositeDataStore, RooTreeDataStore

    - Follow interface change in RooAbsDataStore

  o RooChi2Var, RooDataWeightedAverage, RooXYChi2Var

    - Follow interface change in RooAbsData::cacheArgs()

  o RooVectorDataStore

    - Implement calculating of pdf cache for zero-weight events, selected by new interface in RooAbsDataStore
  o RooBanner

    - Increment version tag to 3.59
Fix issue 2 of ROOT-5644 (TBox clipping).
From Stilianos Kesisoglou: Fix for cygwin

If there are multiple ROOT versions available, the script "thisroot.sh" fails to execute for the second time (crashing Cygwin's "mintty")
Add a couple of missing #include <functional>, required by MSVC++2012
Fatal spelling.
  o RooGlobalFunc

    - Extend named argument RenameConflictNodes with optional Boolean argument to rename existing objects
      rather than to-be-imported objects

  o RooCustomizer

    - Modify behavior of build() such that when masterState is null, or when the name of the customizer
      is an empty string that no suffix is added to the customized branch nodes

    - In the workspace factory interface, modify behavior such that in case the new instance name and
      the original top-level node name are identical that the customizer is run in the new null-name
      mode. This customized tree expression with modified branch objects is subsequently imported
      into the workspace with the RenameConflictNodes("orig",1) to rename the original branch names
      in the workspace. In this mode, also clear the factory_tag attribute of any customized object
      as to not trigger any node recycling based on a false equivalency condition on the factory tag

  o RooWorkspace

    - Support new option RenameConflictNodes(suffix,Bool) in import() so that when Bool=true, the
      existing nodes in the WS are renamed with a '_suffix' suffix instead of the to-be imported nodes.
      In case nodes with <nodename>_<suffix> already exist, rename to <nodename>_<suffix>_<n>
      where <n> is the lowest integer value >=1 that results in a unique name
Yet another "think different" crap from Apple:

When setting window size (with method -setContentSize:), Cocoa actually MOVES
window (with some unearthly logic BTW), as it has origin in the left-bottom corner.
This seems to be a reason for a long living bug with dungling tooltips:
1. Open a menu (in a canvas) and try to select, say, "View"->"Status bar".
2. Menu (top-level window) takes a button grab (while button down).
3. When mouse button released, grab is cancelled, and a fake crossing event
   must be generated (menu is also closed at this moment) - pointer "jumps"
   from the grabbing window to some window which is actually under cursor.
4. This window is, say, TGedNameFrame - it creates a tooltip on a crossing event
   (enter notify).
5. Now f..g Cocoa MOVES the window, so TGedNameFrame NEVER receives leave notify event and
6. we have a dangling tooltip.
Fix the loading of branches used in an alias which is used in boolean expression.

If an alias is used in a boolean expression, it may not be evaluated during the
execution of EvalInstance(0), in which case we must load the branches later.
This patch propagate the marker handling this case from the current TTreeFormula
to the sub TTreeFormula holding the alias.
From Gordon Watts: port to MSVC++11.0

- Add vc11strm into CINT
- Now build iconv and glib (needed by gdk) from source, to ensure they have been compiled with the same flags
Fix link warning LNK4010: invalid subsystem version number 5.0; with MSVC++2012
Use correct version macro (copy/paste typo)
Fix ROOT-5671
Fix a typo
Delete the canvases before deleting the TApplication Implementation.

Signed-off-by: Philippe Canal <pcanal@fnal.gov>
skip libc++ or libstdc++ compat check for libGLU as it has no std C++ in API.