Add Submit function with testing

I added a Submit function following your conventions as best I could. I also added a testing file.
The type needs to be exported (i.e. NewSubmission, not newSubmission). However, maybe we leave it unexported and provide two different constructors: `func NewTextSubmission(...) *newSubmission` and `func NewURLSubmission(...) *newSubmission`.