add UploadableTrait for file upload

Signed-off-by: Ahmad Shah Hafizan Hamidin <ahmadshahhafizan@gmail.com>
Merge pull request #30 from ahmadshah/feature/uploadable-trait

[Proposal] Add UploadableTrait for file upload handling
Use verbose method name to avoid conflict with implementing class.

Signed-off-by: crynobone <crynobone@gmail.com>
Add test case and update changelog.

Signed-off-by: crynobone <crynobone@gmail.com>
Merge branch '2.2'