Keep idle streams in separate list

Previously we handle idle streams as closed streams.  We only keeps
sum of closed streams and active streams under max concurrent streams
limit, idle streams gets deleted earlier than client expects.

In this change, idle streams are kept in separate list and not handled
as closed streams.  To mitigate possible attack vector to make
unlimited idle streams, we cap the number of idle streams in a half of
max concurrent streams.  This is arbitrary choice.  It may be adjusted
in the future when we have interop experience.
Add nghttp2_session_{set,get}_next_stream_id API function
nghttp: Add --dep-idle option to create anchor idle node for dependency
src: Print stream ID in priority field as dep_stream_id