ENH/FIX Change Tree underlying data structure

* avoid segfault (#2726) by setting base on numpy arrays
* A struct array for tree nodes and values array (size indeterminate at
compile time) are the only underlying structure, so each node is locally
grouped memory, and joblib dumps will save only two numpy files per
tree.
* predict() uses the value array's take method, reducing code repetition
Merge pull request #2732 from jnothman/two-array-tree

[MRG] ENH/FIX Change Tree underlying data structure
COSMIT: PEP8 + coding style
COSMIT: PEP8 in test_gradient_boosting.py
COSMIT: Fix some PEP8 in gradient_boosting
COSMIT: PEP8 in test_imputation
COSMIT: Various PEP8
DOC note #2732 in what's new
Add thanks for infrastructure supporters
Add a paragraph about installing a binary release in Fedora
Merge pull request #2762 from sergiopasra/fedora-package

Update the install documentation to add a paragraph about installing a binary release in Fedora
Merge pull request #2761 from ogrisel/thanks

[MRG][DOC] Add thanks for infrastructure supporters
Use assert_raises_regexp to check error messages
BUG: dual_coef must be defined inside the try block.
ENH: made example/svm/plot_iris.py clearer
Merge pull request #2760 from AlexanderFabisch/check_error_patterns

[MRG] Check error message with regex
TST: add Py2.6 on travis
BUG: assert_raises_regexp for Py2.6 compatibility
TST: get travis to find the system packages
TST: try to get travis to work with Py2.6