CLOUDSTACK-7332: handle cloudmonkey installation for windows

Checks and appends pyreadline or readline to dependencies based on platform

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
precache: Add precached apis from 4.4.0 release

This is so that we are able to distribute a source release that compiles
correctly, and that cloudmonkey works out of the box for 4.4.0 and previous
releases.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
cloudmonkey: fix line to make it PEP8 compliant

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
cloudmonkey: use url variable to capture protocol, host, port, path

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
config: set target version 5.2.0, the next release version

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
config: remove user block, introduce server profiles

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
CHANGE: fill in details of changes for the upcoming 5.2.0

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
config: read config file before writing

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
requester: catch exceptions when doing authenticated login

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
cloudmonkey: introduce management server profiles

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
requester: catch and print json decoding errors

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
config: add default server config

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
config: change read and write config logic to support multiple server profiles

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
CHANGES: update changelog for cloudstack 5.2.0

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
cloudmonkey: warn users to set url if they set host, port, protocol, path

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
requester: use a better error message when urls don't start with http/s

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
cloudmonkey: fix config change issue and credential usage issue

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
config: simply config reading and writing logic

- Treat all global variables, config dicts as readonly immutables
- Don't store anything outside method
- Remove need for first_time variable, checks for file before writing back

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
cloudmonkey: be backward compatible for options - host, port, path, protocol

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
CHANGES: update change file for release 5.2.0

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>