* Implementation of NetworkParameters updates
Implementation of NetworkParameters updates for network-management
server side of the process.
Change the way network parameters are read up on network-management
startup. Introduced 3 flags to clearly communicate intentions:
initial-network-parameters, update-network-parameters and flag-day.
* Address Shams comments
* Address comments
* NetworkMapStorage refactor
getLatestNetworkParameters returns NetworkParametersEntity
* TODO Exit after parameters update
Started implementing feature requested by devops. TODO: Fix
NodeRegistrationTest
* Code cleanup
* Merged the two cmd line flags into one --set-network-parameters. The idea being to simply check if there are any active network parameters to determine if it's an update or not.
Applying network parameters causes the server to exit once done (ENT-1559).
* Merge fixes
* Minor cleanup
* Small fixes
* Merge fixes and cleanup
* TODO Implementation of cancelUpdate flag
Will slightly change after more manual testing
* Small cleanup
* Address comments
Add OneToOne relation between ParametersUpdate and NetworkParameters.
* Address comments fix tests
* Upgrade metrics library and histogram implementation
* Only write to the "per second" checkpoint bandwidth histogram once per second, maximum.
* Bug fix
* Review feedback and fix unit test
* Fix IRS demo to use specific metrics version in spring boot
Prior to this change it was intermittently failing with:
```
net.corda.client.rpc.RPCException: RPC server is not available.
at net.corda.client.rpc.internal.RPCClientProxyHandler.invoke(RPCClientProxyHandler.kt:222)
at com.sun.proxy.$Proxy79.ping(Unknown Source)
at net.corda.client.rpc.RPCStabilityTests$client reconnects to rebooted server$1$pingFuture$1.invoke(RPCStabilityTests.kt:251)
at net.corda.client.rpc.RPCStabilityTests$client reconnects to rebooted server$1$pingFuture$1.invoke(RPCStabilityTests.kt:36)
at net.corda.core.internal.concurrent.ValueOrException$DefaultImpls.capture(CordaFutureImpl.kt:107)
at net.corda.core.internal.concurrent.OpenFuture$DefaultImpls.capture(CordaFutureImpl.kt:65535)
at net.corda.core.internal.concurrent.CordaFutureImpl.capture(CordaFutureImpl.kt:119)
at net.corda.core.internal.concurrent.CordaFutureImplKt$fork$$inlined$also$lambda$1.run(CordaFutureImpl.kt:22)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:748)
```
Remove default async db flush
Add in-memory P2P deduplication until we commit the ID persisting tx
Add some explaining comments
Make scheduled state kickoffs atomic with flow starts