`result_of::at<Seq, N>::type` is't defined when sizeof of sequence is less than N

Split up from #39 

- Fix Out-of-Bounds sequence acessing via at and at_c.
  - `result_of::at_c<sequence<int, char>, 2>::type` (and counterpart of `at`) doesn't occur hard error (static assert), but doesn't compile (SFINAE-friendly).
  - IMO, SFINAE-friendly is better for consistency with any other `result_of` implementations.

close [#6507](https://svn.boost.org/trac/boost/ticket/6507), [#7651](https://svn.boost.org/trac/boost/ticket/7651)