Towards Practical Graph-Based, Iteratively Decoded Channel Codes: Insights through Absorbing Sets