feat(request): new perform() interface

1. long long is directly used for length rather than the hacked
   of_length type.
2. length parameter is moved to the front (We might have
   perform_chuncked() without the length parameters someday).
3. Drop keyword arguments from_data and to_content.  The interface
   is no longer manually disambiguated, but this is a more widely
   accepted design.
4. Keyword arguments are moved to a httpverbs::keywords.