[integer sequence] implement backwards compatible version of integer_sequence

C++14 will introduce integer/index sequences in the header <utility>.
This patch introduces a backwards compatible implementation similar in
use. However, the implementation differs in the following technical
details:

  - index_sequence is not a template alias for integer_sequence but
  inherits from it

  - make_{integer, index}_sequence are not a template aliases but free
  standing functions

Both differences stem from the absence of template aliases introduced in
GCC aa late as gcc-4.7. This implementation will work in gcc-4.4 and
later.