Temporary implementation of Input-Output

Since the new version of template version of iostream is not implemented, these implementations of input and output inserters are temporary but can suit with the standard library well. But there's one point to mention that these functions work when std::ios::setstate is set public in the standard header <ios>.
The max_size and resize methods
setstate from protected to public

setstate should be change to public access so that we can use it outside, according to http://www.cplusplus.com/reference/ios/ios/setstate/
const_reference of front and back

#include <list>
#include <iostream>

int main()
{
    char a[] = {'o', 'm', 'g', 'w', 't', 'f'};
    const std::list<char> letters (a, a+6);

    if (!letters.empty()) {
        std::cout << "The first character is: " << letters.front() << '\n';
    }
}
for example when we declare a const list and reference its front or back, we need the const_reference version of these functions according to the standard.
remove_if added, naive implemetation
std::list::unique added

^_^
Merge pull request #56 from AlexanderMisel/patch-2

I hope my patch-2 edit can be merged into the hdr of the project.