[MRG] Gbrt verbose output

I refactored the verbose output of GBRT. The output contains less boilerplate text and is nicer aligned.
It now also reports OOB improvement and estimated time (in seconds or minutes).
Here is an example on covertype using ``verbose=1``:

      Iter       Train Loss   Estimated Time 
         1           1.2980            7.89m
         2           1.2814            7.82m
         3           1.2378            7.95m
         4           1.2234            8.10m
         5           1.1893            7.94m
         6           1.1820            7.92m
         7           1.1756            7.95m
         8           1.1660            7.74m
         9           1.1394            7.81m
        10           1.1157            7.85m
        20           1.0111            7.63m
        30           0.9602            6.70m
        40           0.9354            5.66m
        50           0.9124            4.64m
        60           0.8979            3.65m
        70           0.8859            2.72m
        80           0.8762            1.81m
        90           0.8691           53.82s
       100           0.8599            0.00s

the old output for ``verbose==1`` was just a ``'.'`` for each iteration. Using ``verbose>1`` on **master** gives the following output::

    built tree 1 of 100, train score = 1.297973e+00
    built tree 2 of 100, train score = 1.281386e+00
    built tree 3 of 100, train score = 1.237790e+00

For ``verbose==1`` it will print iterations with modulo <increasing power of 10> is zero.
For ``verbose>1`` it will print each iteration.

There are now test for verbose output.