Move Frame::write() and Frame::archive() to separate classes

Initial commit to fix this issue https://github.com/appleseedhq/appleseed/issues/42

I've opened this pull request to get feedback and to know if I'm on the right track, I've moved the ```Frame::archive``` function and compiled with no problems. [Edit: now I'm getting:
```
../../linux-gcc4/appleseed/libappleseed.so: undefined reference to `renderer::FrameArchiver::archive(char const*, char**) const'
collect2: error: ld returned 1 exit status
make[2]: *** [linux-gcc4/appleseed.studio/appleseed.studio] Error 1
make[1]: *** [src/appleseed.studio/CMakeFiles/appleseed.studio.dir/all] Error 2
make: *** [all] Error 2
```
Did I forget to change something? ]

I'm not sure if you want it completely removed from the ```Frame``` class and all the calls over the code to be changed, this was the easier way to move it. Please give me feedback on the optimal way to achieve what you want so I can do it for ```Frame::write()``` as well.

I still have to clean up the imports, is there any easy way to find out which imports aren't need? Compiler flags?

I appreciate all feedback.