Replaced complex visitor read/write members with either a read or write member.  Use a boost::mpl::bool_ to record whether or not a visitor's read or write member should be called.