update .gitignore rules
Problem 046
Problem 053
Problem 053 - include std::array header
Problem 017
added zip utility to iterate over multiple ranges simultaneously

usage:
    // enumerate the first 100 primes
    for(auto t : zip(range(1, 100), primes()))
        cout << get<0>(t) << ": " << get<1>(t) << endl;

output:
    1: 2
    2: 3
    3: 5
    4: 7
    5: 11
    ...