add opBrowser::postWithFiles() method handles file upload (fixes #3397, BP from #3396)

(cherry picked from commit 73e78eaf55411865863b8140bcbc867e74c4273c)
add an implement of image post onto activity/post.json (fixes #3075, BP from #3064)

(cherry picked from commit 91745b9e8bb9c56460b04d561e5be926920ad083)
some cleanup in activity/post.json (fixes #3075, BP from #3064)

(cherry picked from commit 96df88d12b0e15f418b3a6a6da4aaae6240b40cc)
add testcases for activity/post.json (refs #3075, BP from #3064)

(cherry picked from commit bbf9839510c25ad9da71c5a1a464f46745d2a370)