Added and fixed GSM L3 MM and RR messages and elements, which are necessary for authentication and ciphering implementation.

1. Fixed L3MobileStationClassmark3 element parsing.
2. Added parsing for CKSN and L3RejectCause elements.
3. Added KC variable to L3MobileIdentity element.
4. Added CKSN element to L3PagingResponse, L3LocationUpdatingRequest, L3CMServiceRequest, L3CMReestablishmentRequest and L3PagingResponse messages.
5. Added GSM L3 RR messages: L3CipheringModeCommand, L3CipheringModeComplete.
6. Added GSM L3 RR elements: L3CipheringSettings and L3CipheringResponse.
Implemented encryption and decryption for GSM logical channel.

1. Added functions for encryption and decryption activation and setting KC and CipherID to GSMLogicalChannel.
2. Added functions for encrypt, decrypt, setting KC and CipherID to L1Encoder, L1Decoder and L1FEC.
3. Implemented decrypt and encrypt for XCCHL1 Decoder and Encoder, TCHFACCH Decoder and Encoder.
4. Added xor_apply function to BitVector and SoftVector.
5. Added libosmocore and libosmogsm dependences for using osmo_a5 and osmo_hexparse functions.
Implemented authentication procedure.

1. Implemented AuthenticationParameters class for easy storage and using authentication parameters: MobileID, SRES, RAND, CKSN and KC.
2. Added functions for registerIMSI and authenticate to MobilityManagement.
3. Added authentication procedure to LocationUpdatingController.
4. Modified sip_register function in SIPMessage, added IMSI, SRES, RAND parameters to support authentication.
5. Modified Register and unregister functions in SIPEngine, added AuthenticationParameters.
6. Added new configuration parameter GSM.Encryption to OpenBTS config database. It allows enable or disable encryption.
Implemented authentication and encryption for MO and MT calls.

1. Added activation encryption and decryption on TCH.
2. Added authentication procedure to MTCStarter and MOCStarter functions.
Added indication of ciphering to chans function in CLI.

Now we can see indication of channels encryption and decryption in output of CLI chans command.
Separated procedures for encryption and authentication.

Added configuration parameter GSM.Authentication to OpenBTS config database. It allows enable or disable authentication.
Now we have 3 modes of operation for authentication and encryption:
1. Authentication enable, encryption enable.
2. Authentication enable, encryption disable.
3. Authentication disable, encryption disable.
Implemented encryption procedure for SMS.

Added encryption procedure to MOSMSController and MTSMSController.